Laravel редактировать заказы как пользователь - PullRequest
0 голосов
/ 16 января 2020

Я создаю систему заказов в Laravel, я могу добавить новый заказ как пользователь и я могу отобразить весь заказ как администратор. У меня есть только проблема с редактированием этого заказа в качестве пользователя.

Это мой контроллер

public function index(){
    $orders = Orders::with('category', 'type')->where('user_id', auth()->user()->id)->orderBy('id', 'desc')->paginate(6);

    return view('account.orders', compact('orders'));
}
public function store(Request $request) {

        $order = new Orders;
        $order->user_id = auth()->user()->id;
        $order->category_id = $request->input('category_id');
        $order->type_id = $request->input('type_id');
        $order->name = $request->input('name');
        $order->description = $request->input('description');
        $order->price = $request->input('price');
        $order->save();


    return back()->with([
        'status'=> [
            'type'=>'success',
            'content'=>'Zmiany zostały zapisane',
        ]
    ]);
}

public function edit(Orders $order_id){

    $categories = Categories::get();
    $types = OrdersCategories::get();
    $order = Orders::where('user_id', auth()->user()->id)->findOrFail($order_id);

    return dd($order_id);

}

Когда я нажимаю изменить на панели пользователя, не отображаются данные из базы данных.

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Потому что ваша модель называется Заказы. Вы должны использовать / {orders} / вместо / {order} / в своих маршрутах, если вы хотите использовать привязку модели маршрута.

Изменить маршрут на Route::get('/{orders}/edit', 'OrderController@edit')->name('edit');

0 голосов
/ 16 января 2020

Попробуйте, в функции редактирования вашего контроллера.

try {
     $categories = Categories::get();
     $types = OrdersCategories::get();
     $order = Orders::where('user_id', auth()->user()->id)
                   ->findOrFail($order_id);
     return redirect()->action('Admin\OrderController@index');    
    } catch (\Exception $exception) {
        return back()->withError($exception->getMessage())->withInput();
    }
...