Problem Ich möchte Informationen über ein Campagin und alle Zeichen Teil davon erhalten. Ich möchte aber auch die Charakterporträts. Wenn ich das versuche, bekomme ich Informationen und Charaktere, aber keine Porträts.Eloquent: verschachtelte Relation gibt null zurück
Kampagne Modell
public function player_characters()
{
return $this->hasMany('Sagohamnen\Character\Character', 'campaign_id')->select('id','campaign_id', 'name', 'portrait_id')->where('characters.type', 1)->where('characters.status', 1);
}
Charaktermodell
public function thumb_portrait()
{
return $this->belongsTo('Sagohamnen\Portrait\Portrait')->select('thumbnail', 'id');
}
Die Eloquent Abfrage
return Campaign::select('id', 'genre', 'name', 'description',
'max_nr_players', 'rating', 'created_at', 'updated_at')->where('id',
$campaign_id)->with('player_characters.thumb_portrait')->first();
Das Ergebnis
string(139) "select `id`, `genre`, `name`, `description`, `max_nr_players`, `rating`, `created_at`, `updated_at` from `campaigns` where `id` = ? limit 1"
array(1) {
[0]=>
string(1) "1"
}
string(165) "select `id`, `campaign_id`, `name`, `portrait_id` from `characters` where `characters`.`type` = ? and `characters`.`status` = ? and `characters`.`campaign_id` in (?)"
array(3) {
[0]=>
int(1)
[1]=>
int(1)
[2]=>
int(1)
}
string(71) "select `thumbnail`, `id` from `portraits` where `portraits`.`id` in (?)"
array(1) {
[0]=>
int(0)
}
Character DB-Tabelle
id - name - portrait_id
1 Gandalf 3
Portrait DB-Tabelle
id - thumbnail
3 - http://wwww....