1 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
問題是 $prod_name 是一個(gè)單一的變量,你在循環(huán)中運(yùn)行它。所以它只替換每次迭代并只獲取最后一次迭代名稱。因此,如果您想使用 $order_list 獲取每個(gè)產(chǎn)品名稱,您可以輕松地為產(chǎn)品表創(chuàng)建模型。然后創(chuàng)建一對(duì)一的 Order_list。例如:
https://laravel.com/docs/7.x/eloquent-relationships#one-to-one
class Order_list extends Model
{
public function products()
{
return $this->hasOne('App\Products',"product_id"); //your model name and path
}
}
然后你可以像這樣獲得所有產(chǎn)品的訂單列表數(shù)據(jù):
$Order_lists = Order_list::orderBy('id', 'asc')->where('user_id', '=', Auth::user()->id)->where('order_id', '=', $id)->with('products')->get();
產(chǎn)品詳情應(yīng)在$Order_lists[0]->products->name
編輯:在刀片文件中運(yùn)行它
@foreach($Order_lists as $Order_list)
////other <td>s
<td>{{$Order_list->products->name}}</td>
@endforeach
如果上面的方法很復(fù)雜,你可以創(chuàng)建單獨(dú)的數(shù)組來命名
$prod_name =[];
foreach($Order_lists as $order_list)
{
$prod_name[$order_list->product_id] = DB::table("products")->where('id', $order_list->product_id)->value('name');
}
然后像這樣在刀片文件上讀取它:
{{$prod_name[$order_list->product_id]}}
編輯:要以第二種方法打印元素,您可以使用刀片語法。首先將變量發(fā)送到 .blade 文件,例如:view('your.blade.php,compact('Order_lists','prod_name'));
//then print in .blade file
@foreach($Order_lists as $Order_list)
////other <td>s
<td>{{$prod_name[$order_list->product_id]}}</td>
@endforeach
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)