Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel 5.6 withCount und Where-Anweisung

Da Sie einen Fremdschlüssel auf dem Spieltisch definieren, haben Sie eine Eins-zu-Viele-Beziehung zwischen dem Player und Game schon. Versuchen Sie, Ihrem Player die folgende Relation hinzuzufügen Modell:

// Player.php
public function won()
{
    // must specify the foreign key because it is not the usual `_id` convention.
    return $this->hasMany(Game::class, 'winner');
}

Greifen Sie dann auf jedem Player darauf zu wie:

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

Anstatt in der Ansichtsdatei abzufragen, sollten Sie idealerweise Folgendes in Ihrem Controller tun:

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