связывание в функции соединения laravel - PullRequest
0 голосов
/ 19 октября 2019

Я получаю данные из двух разных таблиц с функцией Join. Но код ссылки для страницы редактирования не работает.

index.blade.php file 

@foreach($data as $row)

   tr>
    <td>{{$row->customer_name}}</td>
    <td>{{$row->customer_phone}}</td>
    <td>{{$row->product_name}}</td>
    <td>{{$row->sale_date}}</td>
    <td>{{$row->delivery_date}}</td>
    <td>
       <a href="{{route('orders.create'),[$row['order_id']]}}">
       <button class="btn btn-info btn-sm fa fa-edit"></button></a>
    </td>
   </tr>

@endforeach

web.php file

Route::group(['namespace'=>'orders', 'prefix'=>'orders', 'as'=>'orders.'], function (){
   Route::get('/', 'indexController@index')->name('index');
   Route::get('/create', 'indexController@create')->name('create');
   Route::post('/create/', 'indexController@store')->name('create.post');
   Route::get('/detail/{id}', 'indexController@show')->name('detail');
   Route::get('/edit/{id}', 'indexController@edit')->name('edit');
   Route::post('/edit/{id}', 'indexController@update')->name('edit.post');
});
indexController.php file

 public function index()
    {
        $data = DB::table('orders')
            ->select('orders.customer_name', 'orders.customer_phone', 'products.product_name', 'orders.sale_date','orders.delivery_date')
            ->join('products', 'orders.product_id', '=', 'products.product_id')
            ->get();
        return view('orders.index', compact('data'));
    }

ErrorException (E_ERROR) Невозможно использовать объект типа stdClass в качестве массива (View: D: \ xampp \htdocs \ personal \ resources \ views \ orders \ index.blade.php)

Ответы [ 3 ]

2 голосов
/ 19 октября 2019

Итак, вместо этого:

$row['order_id']

Можете ли вы попробовать это:

$row->order_id
2 голосов
/ 19 октября 2019

У вас есть stdClass объект, вы не можете получить параметры от него, используя синтаксис массива.

$object->parameter; // object
$array['element'];  // array
1 голос
/ 19 октября 2019

Передайте идентификатор модели в качестве второго аргумента для маршрутизации и получите доступ к атрибуту модели (объекта) с помощью оператора стрелки

<a href="{{ route('orders.create', $row->order_id) }}">

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...