Вызов функции-члена fill () в Null Laravel

Я пытался редактировать запись. Мой код создаст новую запись, если данные нулевые. Однако я получаю следующую ошибку:

Вызов функции-члена fill() на нуле.

Я не уверен, что я сделал не так; может я не объявил?

контроллер

<?php

public function auctionUpdate(Request $request, MediaSite $mediaSite)
{
$auction = $mediaSite->auction;

DB::transaction(function() use ($request, $mediaSite, $auction){
$auction->fill($request->only([
'status', 'start_time', 'end_time', 'period_start_date'
]));

if($auction == null)
$auction = new Auction();

$auction->save();
});

return view('admin.media-site.show', [
'mediaSite' => $mediaSite,
'auction' => $auction
]);
}

0

Решение

Вы должны проверить, является ли аукцион нулевым, прежде чем заполнить ()

ваш модифицированный скрипт

public function auctionUpdate(Request $request, MediaSite $mediaSite)
{
$auction = $mediaSite->auction;

DB::transaction(function() use ($request, $mediaSite, $auction){
if($auction == null)
$auction = new Auction();

$auction->fill($request->only([
'status', 'start_time', 'end_time', 'period_start_date'
]));

$auction->save();
});



return view('admin.media-site.show', [
'mediaSite' => $mediaSite,
'auction' => $auction
]);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]