Laravel 5.2与数据透视表的关系

时间:2016-07-10 13:53:29

标签: php database laravel

我的桌子:

tables

  1. 每个部分都包含许多卡片。
  2. 每张卡都属于很多部分。
  3. 现在,使用laravel eloquent模型如何在不向数据库添加更多列的情况下获取部件的所有卡

2 个答案:

答案 0 :(得分:1)

您需要定义以下关系:

class Part extends Model
{
    public function cards()
    {
        return $this->belongsToMany('App\Cards', 'user_cards');
    }
}

然后你可以获取以下部分的所有卡片:

$cards = Part::with('cards')->find($part_id);

答案 1 :(得分:0)

shrink_factor = ifelse(T.gt(norm_gparams,max_grad_norm),(max_grad_norm/norm_gparams).astype('float32'),1.)

对于Part.php

,您的模型关系应该包含​​这样的内容
Part::whereHas('cards', function($query) use ($cardId){
  $query->where('id', $cardId);  
})->get();

对于Card.php

public function cards(){ 
 return $this->belongsToMany('App\Card');    
}