试图获得非对象的属性,我无法在productdetails视图上传递数据

问题描述 投票:1回答:1

我在Productdetails视图的代码中存在错误

试图获取非对象的属性'名称'

web.php文件:

Route::delete('/Destroy/{id}','ProductsController@destroy');
Route::get('/Edit/{id}', 'ProductsController@edit');
Route::post('/Update/{id}','ProductsController@update');

Route::get('/listing',function(){

    $products = Product::all();
    return view('pages.productlisting',compact('products'));

});

Route::get('Product-details/{id}','ProductsController@ProductDetail');

ProductDetail功能在控制器上

public function ProductDetail($id)
{
   $products = Product::findOrFail($id);
   return View('pages.productdetails', compact('products',$products));
}

view文件:

@foreach($products as $product)
  <h1>{{$product->name}}</h1>
@endforeach

而且我认为数据属性有问题

MyDatabase属性

name价格类别说明

平台

我需要在产品详细信息视图中传递这些数据

php laravel laravel-5
1个回答
1
投票

有了这个,您将获得一个收藏夹。

$products = Product::findOrFail($id);

您不需要在foreach loop中传递它。更改您的视图文件,如下所示。删除foreach。

<h1>{{$products->name}}</h1>

如果使用get()方法,您将获得多个可以使用foreach的对象。但是对于find()first()方法返回单个对象,因此不需要循环。

© www.soinside.com 2019 - 2024. All rights reserved.