【发布时间】:2018-10-09 14:43:19
【问题描述】:
我有一个组表、消息表和用户表。 消息表属于一个用户,而 morphTo 属于一个组。 组表属于一个用户和 morphMany 消息。 我想通过最后一条消息“仅最后一条消息”获取与一个用户相关的所有组。
`users Model`
public function messages(){
return $this->hasMany('App\Message');
}
public function groups(){
return $this->belongsToMany('App\Group', 'group_user');
}
`Groups Model`
public function user(){
return $this->belongsTo('App\User');
}
public function messages(){
return $this->morphMany('App\Message', 'messagable');
}
`messages model`
public function user(){
return $this->belongsTo('App\User');
}
public function messagable(){
return $this->morphTo();
}
我希望结果是这样的:
{
"id": 23,
"user_id": 2,
"name": "Group1",
"description": "5656",
"img": "images/1524958644.png",
"created_at": "2018-04-28 23:37:24",
"updated_at": "2018-04-28 23:37:24",
"last_messages":{
"id": 292,
"user_id": 1,
"messagable_type": "App\\Group",
"messagable_id": 23,
"message": "hi",
"created_at": "2018-04-29 07:48:55",
"updated_at": "2018-04-29 07:48:55"
}
}
【问题讨论】:
标签: laravel eloquent relationship