![](/img/trans.png)
[英]Laravel set option to selected if option id is in an array list in blade view
[英]How to display on blade view the contents of a selected id? Laravel
我是laravel的新手,我很難顯示在刀片視圖中選擇的包裝項目。 我可以在一個刀片視圖中顯示所有軟件包。 目的是讓我在刀片視圖中單擊包裝時查看其中的內容。
PackageItems表
id | package_id | item_id | qty
package_id
是來自packages
表的外鍵,而item_id
是來自items
表的外鍵
這是我獲取數據的方式:
調節器
public function showPackageItems($id)
{
$package = Package::find($id)
->with('packageitems')
->where('id', '=', $id)
->get();
return view('admin.packages.show')->with('package', $package);
}
包裝型號
public function packageItems()
{
return $this->hasMany(PackageItem::class, 'package_id') ;
}
PackageItem模型
public function package()
{
return $this->belongsTo(Package::class,'package_id') ;
}
showItems刀片視圖
@foreach($package as p)
<td>{{$p->packageItem->item_id}}</td> //error
<td>{{$p->qty}}</td> //error as well
@endforeach
我已經嘗試過dd($ package),並且得到了正確的結果。 我的問題是如何在刀片視圖中顯示它。
在控制器中
public function showPackageItems($id)
{
$package = Package::with('packageItems')
->where('id', '=', $id)
->get();
return view('admin.packages.show')->with('package', $package);
}
刀片式
@foreach($package as $p)
<td>{{$p->packageItem->item_id}}</td> //error
<td>{{$p->qty}}</td> //error as well
@endforeach
嘗試這個
Controller
public function showPackageItems($id)
{
$package = Package::find($id)
->with('packageItems')
->where('id', $id)
->first();
return view('admin.packages.show', compact('package'));
}
Blade file
{{ $package->id }} //you can access package instance like that.
//for packageItems
@foreach($package->packageItems as $p)
<td>{{ $p->item_id }}</td>
<td>{{ $p->qty }}</td>
@endforeach
更改有關如何檢索記錄的代碼
使用find和get有所不同: Eloquent中find和get的區別
另外,您需要先獲取packageitems
public function showPackageItems($id)
{
$package = Package::with('packageitems')
->where('id', '=', $id)
->get();
return view('admin.packages.show')->with('package', $package);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.