1

我的表有很多外键,例如 prefecture_id、gender_id 和 status_id。

我为那些桌子做了模型。

所以我想定义多个 belongsTo 方法,如下所示,使用查询生成器获取所有数据。

但实际上 belongsTo 不能这样使用。

public function foreign(){

 return $this->belongsTo([
   'App/Prefecture',
   'App/Gender',                        
   'App/Status',
]
}

如果唯一的方法是为属于定义多个方法。

如何在查询构建器中获取所有属于数据。

请给我建议。

4

1 回答 1

0

据我所知,没有办法belongsTo从单一方法中获得多个。您需要做的是为每个关系创建一种方法,当您想要加载关系时,您可以执行以下操作。

模型

public function prefecture()
{
    return $this->belongsTo(\App\Prefecture::class);
}

public function gender()
{
    return $this->belongsTo(\App\Gender::class);
}

public function status()
{
    return $this->belongsTo(\App\Status::class);
}

询问

// This will get your model with all of the belongs to relationships.

$results = Model::query()->with(['prefecture', 'gender', 'status'])->get();
于 2020-10-06T01:37:06.510 回答