gpt4 book ai didi

php - Laravel 中如何使用 pluck 从其他表中获取特定数据?

转载 作者:行者123 更新时间:2023-11-29 06:26:57 29 4
gpt4 key购买 nike

SalesController,我想从表Item获取特定的name并传递给HTML。

我的 Controller 看起来像

public function index()
{
$items=Item::orderBy('name','ASC')->get()->pluck('name','id');
$sales=Sale::all();
return view('Sale.index')->with('sales',$sales,'items',$items);
}

我的 HTML 是

<thead>
<tr>
<th>No</th>
<th>Name</th>
<th>Quantity</th>
<th>Total Price</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
@foreach($sales as $sale)
<tr>
<td>{{ $sale->id }}</td>
<td>{{ $sale->items->name }}</td>
<td>{{ $sale->quantity }}</td>
<td>RM {{ $sale->price }}</td>
<td>{{ $sale->created_at }}</td>
</tr>
@endforeach
</tbody>

但是尝试访问该页面后出现以下错误:

Trying to get property 'name' of non-object (View: C:\xampp\htdocs\inventoryApp\resources\views\Sale\index.blade.php)

最佳答案

有两种方法

1.使用关系

class Sale extends Model
{
public function item()
{
return $this->belongsTo('App\Item','item_id','id');
}

}

所以你可以像下面这样使用

<td>{{ $sale->item->name }}</td>

<强>2。使用数组数据

public function index()
{
$items=Item::orderBy('name','ASC')->pluck('name','id')->toArray();
$sales=Sale::all();
return view('Sale.index')->with('sales',$sales,'items',$items);
}



<td>{{ $items[$sale->item_id] }}</td>

关于php - Laravel 中如何使用 pluck 从其他表中获取特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58926879/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com