sql >> Base de Datos >  >> RDS >> Mysql

Laravel 5.6 withCount y declaración where

Dado que define una clave externa en la mesa de juegos, tiene una relación de uno a muchos entre el Player y Game ya. Intenta agregar la siguiente relación a tu 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');
}

Luego acceda a él en cada jugador como:

@foreach($players as $player)
    {{ $player->won->count() }}
@endforeach

En lugar de consultar en el archivo de vista, idealmente debería hacer lo siguiente en su controlador:

public function index()
{
    /*Load the view and pass the groups*/
    return \View::make('players.index')->with('players', Player::with('won')->get());
}