Laravel Eloquent Relationship 3表

时间:2016-07-18 09:10:22

标签: eloquent laravel-5.2

我是Laravel 5.2的新手,正在研究遗留系统,对于雄辩有点困惑,并希望有人给我代码。

共有3个表格:

卡 类别 cards2cat

卡可以是许多类别,它们保存在cards2cat表中。

cards2cat表具有以下结构

id(主键) 图像(卡) 类

我想要做的是在卡模型中使用一个名为getCardsWithCategores的方法,它返回卡片信息以及类别表中类别的名称。

类别表有一个id键和一个字段类别。

谢谢!

1 个答案:

答案 0 :(得分:1)

转到Card2Cats模型并添加:

public function categories()
{
    return $this->hasOne('App\Categories','id','category');

}

public function cards()
{
    return $this->hasOne('App\Cards','id','image');
}

对于查询,请执行以下操作:

$cards = Card2Cat::with('categories','cards')->get(); 
foreach ($cards as $key => $value) {
    echo $value->id.', Card:'.$value->cards->name.', Category:'.$value->categories->category.'<br>';

//$value->cards gives you all column of cards and you can do 
//$value->cards->colName
// same goes for $value->categories
}

在运行代码之前,请确保您的类和表列名称的拼写正确:D