如何使用过滤器雄辩?

时间:2015-11-26 18:56:01

标签: laravel eloquent

我有三张桌子

  • 来电:id,title,place_id ......
  • 地方:id,name,departament_id ......
  • 部门:id,name ......

在模特中

class Call extends Model
{
    public function place(){
        return belongsTo('App\Place');
    }
}

class Place extends Model
{
    public function departament(){
        return belongsTo('App\Departament');
    }
}

并在控制器上

$calls = new \App\Call;

if($status != ''){
    $calls = $calls::with(['places'=>function($q) use ($departament){
        $q->where('places.departament_id','=',$departament);
    }]);
}

我想要来自某个部门的过滤器调用,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您的代码存在许多问题。 我会给你正确的解决方案,希望你能读完所发生的变化,看看你哪里出错了,因为老实说,解释一切都是错误的:P

class Call extends Model
{
    public function place(){
        return $this->belongsTo(Place::class);
    }
}

class Place extends Model
{
    public function departament(){
        return $this->belongsTo(Departament::class);
    }
}

控制器:

if($status != ''){
    $calls = Call::with('place')->where('departament_id', $departament)->get();
}

注意:部门被拼错