我拥有这些模型,这些模型与它们相关的DB表,目前我可以检索所有要求
Requirement::all()
,但我只有一个外国密钥列表(destination_id,applier_id,doc_id(。我如何直接检索连接到该外国钥匙的行?
class Requirement extends Model
{
protected $fillable = [
'required',
'destination_id',
'applier_id',
'doc_id'
];
public function destination()
{
return $this->belongsTo(Destination::class);
}
public function applier()
{
return $this->belongsTo(Applier::class);
}
public function doc()
{
return $this->belongsTo(Doc::class);
}
}
class Doc extends Model
{
protected $fillable = [
'type',
'description',
'note'
];
public function requirements()
{
return $this->hasMany(Requirement::class);
}
}
class Destination extends Model
{
protected $fillable = [
'country',
'passying_country',
'transfer_conditions',
'passing_conditions'
];
public function requirements()
{
return $this->hasMany(Requirement::class);
}
}
您可以调用with()
功能而不是all()
。因此,如果您尝试以下操作:
$requirements = Requirement::with('destination', 'applier', 'doc')->get();
使其dd($requirements)
并查看输出。
希望它能起作用。