首页 > 解决方案 > 如何在刀片视图上显示所选 ID 的内容?拉拉维尔

问题描述

我是 laravel 的新手,我很难显示我在刀片视图中选择的包中的项目。我可以在一个刀片视图中显示所有包。如果我在刀片视图上单击它,目标是让我查看包的内容。

包裹物品表

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) 并且得到了正确的结果。我的问题是如何在刀片视图上显示它。

标签: phphtmllaravel

解决方案


在控制器中

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 

推荐阅读