Весь мой проект полностью функционален, кроме функции создания. Когда я вошел в систему как обычный пользователь, я могу без проблем просматривать индекс одежды. Но когда я вошел в систему как администратор, я могу просматривать индекс только при первом создании новой одежды (к которой обычный пользователь не имеет доступа).
После этого первого раза, во второй раз Я добавляю новую одежду, появляется эта ошибка, и я пытаюсь понять это. Я только начинаю с Laravel.
Это код внутри моей индексной функции на контроллере:
$clothe = Clothe::all();
return view('clothes.index')->with('clothe',$clothe)->with('brand',Brand::all())->with('stock',Stock::all());
Марка относится к марке, которая является маркой одежда, в то время как сток - это модель запаса, которая относится к 2 частям данных: «Доступно» и «Недоступно» (обратите внимание, это работает, когда я вошел в систему только как обычный пользователь, но не при создании второго одеть как администратор)
На моем блейде индекса одежды по какой-то причине он читает $ brand, $ stock и $ одеть как не объекты.
Когда администратор создает вторую одежду, данные хранится, как я проверил в своей базе данных, единственная проблема - его отображение.
Это моя функция хранения:
public function store(Request $request, Clothe $clothe, Stock $stock)
{
$this->authorize('create',$clothe,$stock);
$request->validate([
'name' => 'required|string',
'price' => 'required|numeric',
'brand-id' => 'required|numeric',
'stock-id' => 'required|numeric',
'description' => 'required|string',
'image' => 'required|image|max:5000'
]);
$clothe = new Clothe;
$clothe->name = $request->input('name');
$clothe->price = $request->input('price');
$clothe->brand_id = $request->input('brand-id');
$clothe->stock_id = $request->input('stock-id');
$clothe->status_id = 1;
$clothe->description = $request->input('description');
$clothe->image = $request->image->store('public');
$clothe->save();
return redirect(route('clothes.index'));
}
, а это моя функция создания
public function create(Clothe $clothe)
{
$this->authorize('create',$clothe);
$brand = Brand::all();
$stock = Stock::all();
return view('clothes.create')->with('brand',$brand)->with('stock',$stock);
}