Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel 5.6 withCount e where declaração


Como você define uma chave estrangeira na mesa de jogos, você tem um relacionamento um-para-muitos entre o Player e Game já. Tente adicionar a seguinte relação ao seu Player modelo:
// Player.php
public function won()
{
    // must specify the foreign key because it is not the usual `_id` convention.
    return $this->hasMany(Game::class, 'winner');
}

Em seguida, acesse-o em cada player como:
@foreach($players as $player)
    {{ $player->won->count() }}
@endforeach

Em vez de consultar no arquivo de visualização, você deve fazer o seguinte em seu controlador:
public function index()
{
    /*Load the view and pass the groups*/
    return \View::make('players.index')->with('players', Player::with('won')->get());
}