Вам нужно передать $listing
вашему представлению следующим образом:
return view('user.dashboard', compact('listing');
Редактировать:
Конечно, ваши переменные должны иметь одинаковые имена в вашем контроллере и представлении.Теперь у вас есть несоответствие, когда вы называете свою переменную $listing
в контроллере, но называете ее $listings
в своем представлении.Ваш код должен выглядеть следующим образом:
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
Тогда вы можете вызвать переменную как $listings
в вашем представлении, так что ваш код представления не должен изменяться.
РЕДАКТИРОВАТЬ 2:
$listing
- ОДИН экземпляр модели Listings
.Таким образом, вы не можете вызвать метод empty()
для объекта.Я думаю, что вы хотите сделать что-то вроде этого:
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
Вам это удастся?
Ps.Вы хотите установить атрибут image1
ПОСЛЕ сохранения?Это потеряется.