2016-02-04 3 views
1

Мне интересно, как запросить поле в сводной таблице во многих отношениях.Laravel 5.1 - Запрос поля сводной таблицы с где Eloquent

Давайте предположим, что мы имеем это соотношение:

public function acciones(){ 
    return $this->belongsToMany('App\Accion', 'inter_clientes_acciones', 'id_cliente', 'id_accion')->withPivot('valoracion', 'asistencia'); 
} 

public function clientes(){ 
    return $this->belongsToMany('App\Cliente', 'inter_clientes_acciones', 'id_accion', 'id_cliente')->withPivot('valoracion', 'asistencia'); 
} 

То, что я должен получить это число клиентов, имеющих логическое значение поля asistencia верно.

Я пытался сделать что-то вроде:

$clients = Cliente::findOrFail($id); 
$number = $clients->acciones()->pivot->where('asistencia','=', true)->count(); 

Но у меня была ошибка. Очевидно.

Есть ли красноречивый способ получить этот счет?

ответ

1

Вы можете попробовать это.

$number = Cliente::whereHas('acciones', function($q) { 
       $q->where('asistencia', '=', true); 
      })->count(); 
Смежные вопросы