错误
尝试获取非对象的属性
我的新项目遇到了问题。我之前从最近的项目中尝试过这些代码并且它有效,但它对我的新项目没有任何作用。 不同之处在于:在我的旧项目中,我使用过' id'作为表格的主键,在我的新项目中,我使用了&produ;产品'作为表格的主键。
它可以读取我选择的特定项目ID。
我尝试过使用Products :: where(' id',$ id);但它不会工作
控制器:
public function showDetail($id)
{
$products = Products::find($id);
return view('sectiondetail', ['products' => $products], compact('products'));
}
查看:
@foreach($products as $product)
<div class="productdetail">
<div id="thumbnail">
<img src="{{ $product -> productpicture }}">
</div>
<div id="productdescription">
<div id="name">{{ $product -> productname }}</div> <br>
<div>
<b>Ingredients:</b> {{ $product -> productdescription }}
</div> <br>
<button class="sim-button button24">Book</button>
</div>
</div>
@endforeach
答案 0 :(得分:8)
将$primaryKey
添加到Products
模型:
protected $primaryKey = 'productid';
然后这个查询将通过它的ID获取产品:
$product = Products::find($id);
来自the docs:
Eloquent还会假设每个表都有一个名为id的主键列。您可以定义受保护的
$primaryKey
属性以覆盖此约定
然后只需使用该对象获取数据(无需迭代$product
):
{{ $product->productname }}