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
你好,你可以请发表您的数据库架构?或者至少是你想要涉及的表格? –