php 如何从嵌套关系中获取数据

kqhtkvqz  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(128)

我有3个数据库表(用户,市场,订单)。一个用户可以有多个市场,一个市场与订单有morphMany关系。我的用户模型:`

public function marketplaces(): BelongsToMany
{
    return $this->belongsToMany(Marketplace::class);
}

Marketplace model:

public function orders()
{
    return $this->morphMany(Order::class, 'orderable');
}

`
我需要检索的订单是由一个特定的用户通过他的许多市场。我怎么能做到这一点的帮助或雄辩在laravel?

z0qdvdin

z0qdvdin1#

为了使用Eloquent检索嵌套关系,必须使用with函数。例如:

$user = User::with('marketplaces')->first();

$user = User::with('marketplaces.orders')->first();

第二个范例会显示与使用者相关之每个市场上的每个订单。如果您想要在查询上加入一些条件,也可以使用函数在with内建立自己的查询。例如:

$user = User::with(['marketplaces.orders' => function ($query) {
    $query->where('id', 1);
}]);

相关问题