我想弄清楚如何從相關表格中加載數據。我有2個型號Group
和GroupTextPost
。雄辯 - 渴望加載關係
Group.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Group extends Model
{
protected $table = 'group';
public function type()
{
return $this->hasOne('\App\Models\GroupType');
}
public function user()
{
return $this->belongsTo('\App\Models\User');
}
public function messages()
{
return $this->hasMany('\App\Models\GroupTextPost');
}
}
GroupTextPost.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class GroupTextPost extends Model
{
protected $table = 'group_text_post';
public function user()
{
return $this->belongsTo('\App\Models\User');
}
public function group()
{
return $this->belongsTo('\App\Models\Group');
}
}
我試圖做的是渴望負載user
取組文字帖的時候,這樣,當我拉包含用戶名的消息。
我試着做它像這樣:
public function messages()
{
return $this->hasMany('\App\Models\GroupTextPost')->with('user');
}
...,並呼籲像這樣:
$group = Group::find($groupID);
$group->messages[0]->firstname
但我得到一個錯誤:
Unhandled Exception: Call to undefined method Illuminate\Database\Query\Builder::firstname()
這是可能與言語有關嗎?
嘗試'''$ M = $組 - >消息() - >獲得();'''然後'''$ m [0] - >用戶[0] - >名字;''' – Dev
郵件將有名字或用戶有? – Dev
@Dev用戶擁有名字。 – BugHunterUK