0
我有以下型號:雄辯:有()字段返回null
class User extends Model
{
public function messageUsers()
{
return $this->hasMany("MessageUser", "user1_id")->orWhere("user2_id", $this->id);
}
}
class MessageUser extends Model
{
public function messages()
{
return $this->hasMany("Message");
}
}
class Message extends Model
{
public function sender()
{
return $this->belongsTo("User", "user_id", "id");
}
}
我想從Message類發件人()獲取特定字段。然而,
$user = User::find(2);
$msg_user = $user->messageUsers()->find(15);
$tmp = $msg_user->messages()->with(["sender" => function($query) { $query->select("username"); }])
$ TMP返回null,而:
$msg_user->messages()->with("sender")
返回所有領域的預期。
爲什麼with()函數沒有返回傳入字段名的值?
謝謝。
UPDATE下面的表結構:
修改的關係select
條款
user:
- id
- username
message_users
- id
- user1_id
- user2_id
messages
- id
- message_user_id
- user_id
- content
你好,你可以請發表您的數據庫架構?或者至少是你想要涉及的表格? –