【发布时间】:2021-04-14 23:15:27
【问题描述】:
我有 3 个表 Orders 、 Orderdetails 和 products 表,每个订单都是唯一的,每个订单都有多个带有订单 ID 的 orderdetail,每个 orderdetail 都有 product_id
我在刀片中使用 foreach 循环
@foreach($order->orderdetail as $odetail)
<tr>
<td><input type="number" value="{{ $odetail->amount }}" ></td>
</tr>
@endforeach
this value="{{ $odetail->amount }}" 在输入字段中获取值 25
我还有另一个 foreach 循环
@foreach($products as $key => $p)
<tr>
<td><input type="number" value="{{ $p->order->orderdetail->unit }}"></td>
</tr>
@endforeach
我希望上面的循环 value="{{ $odetail->amount }}" 在第二个 foreach 循环中输出,所以我试试这个
value="{{ $p->order->orderdetail->unit }}"
如果 orderdetail 在第一个循环中获得价值,那么为什么它在第二个 foreach 循环中没有获得价值,有人可以告诉我什么是错误以及 doeas 模型如何工作以及我如何在第二个循环中获得价值?
这是我的 Order 模型类和 orderdetail 函数
class Order extends Model
{
public function orderdetail(){
return $this->hasMany('App\OrderDetail','order_id');
}
}
这是我的 orderdetail 类和函数
class OrderDetail extends Model
{
public function order(){
return $this->belongsTo('App\Order');
}
public function product(){
return $this->belongsTo('App\Product');
}
}
这里是产品型号
class Product extends Model
{
public function category(){
return $this->belongsTo('App\Category');
}
}
orderdetai 的数据库图像 enter image description here
【问题讨论】:
-
您能否分享一下您的模型,包括“单位”字段。但一个广泛的假设是您的单位字段也是一个关系字段,因此无法直接输出集合。
-
请显示您正在获取数据的模型查询表单
-
输入
dd($products)并查看那里的记录 -
可以分享一下产品型号吗?
-
感谢每一位贡献者,我用所有使用的模型更新了代码
标签: php laravel model-view-controller eloquent laravel-blade