Laravel从外国钥匙中检索值



我拥有这些模型,这些模型与它们相关的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)并查看输出。

希望它能起作用。

最新更新