【发布时间】:2021-04-23 14:59:03
【问题描述】:
我想获取所有项目,对于每个项目,我想获取一个属性,例如 is_liked,它表明 current_user(我有他的 ID)是否喜欢这个项目。
用户模型
class User extends Model
{
public function projects()
{
return $this->hasMany(Project::class);
}
public function favorite_projects()
{
return $this->belongsToMany(Project::class, 'favorite_projects', 'user_id', 'project_id')->withTimestamps();
}
}
项目模型
class Project extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
用户表
- id
- name
项目表
- id
- user_id
- title
favorite_projects 表
- user_id
- project_id
完成这项工作的最佳方法是什么?我想得到的数据是这样的:
[
{
"id": 1,
"user_id": 3,
"title": "my title",
"is_liked": true
}
]
注意:current_user->id 可能与 project->user_id 相同也可能不同。
【问题讨论】:
标签: laravel