php hasmany,php – 如何从Laravel中的hasMany()关系中获取所有结果?

要获得BaseProduct的孩子,您可以尝试这样做:

$bp = BaseProduct::with('Products')->get();

现在,您有一个BaseProduct集合,因此,您可以使用以下内容:

$bp->first()->products

或者从集合中获取第二个项目

$bp->get(1)->products

此外,您可以运行这样的循环(最有可能在传递后的视图中):

// From the controller

$bp = BaseProduct::with('Products')->get();

return View::make('view_name')->with('baseProduct', $bp);

在视图中

@foreach($baseProduct->products as $product)

{{ $product->field_name }}

@endforeach

更新:是的,你可以试试这个

$product = Product::first();

$baseProduct = $product->BaseProduct;

// Dump all children/products of this BaseProduct

dd($baseProduct->products->toArray());

你可以链接:

Product::first()->BaseProduct->products;

更新:您的表结构应如下所示:

表:baseproduct:

id(pk) | some_field | another_field

表:产品:

id(pk) | baseproduct_id(fk) | another_field

根据这个表结构,关系应该是

// BaseProduct

public function Products()

{

return $this->hasMany("Product");

}

// Product

public function Products()

{

// second parameter/baseproduct_id is optional unless

// you have used something else than baseproduct_id

return $this->belongsTo("BaseProduct", "baseproduct_id");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值