Я пытался редактировать запись. Мой код создаст новую запись, если данные нулевые. Однако я получаю следующую ошибку:
Вызов функции-члена
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
]);
}
Вы должны проверить, является ли аукцион нулевым, прежде чем заполнить ()
ваш модифицированный скрипт
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
]);
}
Других решений пока нет …