Php Laravel基于外键获取数据

Php Laravel基于外键获取数据,php,laravel,foreign-keys,laravel-5,eloquent,Php,Laravel,Foreign Keys,Laravel 5,Eloquent,所以我有两张表,表1和表2。 它们通过雄辩的方式联系在一起: 表1有许多表2,表2有一个表1。 它们与外键链接,例如: 在表2中,表1_id->链接到->表1 id 如何检索整个表数据或表2,并用表1的一列替换表1_id,例如通过booktitle 很抱歉这么抽象,但这是我能解释它的最好方式D最简单的方法是利用Eloquent的急切加载,从表2中获取所有记录以及表1中相应的记录 这将实现以下目的: $results = Table2::with('table1')->get(); for

所以我有两张表,表1和表2。 它们通过雄辩的方式联系在一起: 表1有许多表2,表2有一个表1。 它们与外键链接,例如: 在表2中,表1_id->链接到->表1 id

如何检索整个表数据或表2,并用表1的一列替换表1_id,例如通过booktitle


很抱歉这么抽象,但这是我能解释它的最好方式D

最简单的方法是利用Eloquent的急切加载,从表2中获取所有记录以及表1中相应的记录

这将实现以下目的:

$results = Table2::with('table1')->get();

foreach ($results as $table2record) {
  echo $table2record->id; //access table2 data
  echo $table2record->table1->booktitle; //access table1 data
}

您需要在模型中建立关系,例如,如果您有一个类别,并且其中有许多产品,则需要将此代码放入您的模型中

    public function products()
    {
        return $this->hasMany('App\Product', 'foreign_key_you_have');
    }
例如,当您需要在视图中检索与该类别关联的所有产品时,您需要调用model函数

@foreach($category->products as $cp) // with $category->products you call all products associated to your foreign_key
  <h1>{{$cp->price}}</h1>
@endforeach