【发布时间】:2018-11-26 12:10:48
【问题描述】:
所以我在 JeffreyWay 的截屏视频中了解到,我可以使用 Eloquent 从注入到另一个模型的模型中获取关联的 id。
我正在关注他关于 Laravel 5.4 的系列文章。
在这里,我有一个用户与帖子的一对多关系。
应用/发布
public function user()
{
return $this->belongsTo(User::class);
}
在我的用户模型中,我有一个发布方法,其中注入了 Post 模型。 publish 方法用于在数据库中创建一个 post 条目。
应用/用户
public function posts()
{
return $this->hasMany(Post::class);
}
public function publish(Post $post)
{
$this->posts()->save($post);
}
然后我的 PostsController 中有一个 store 方法,它调用我的用户模型中的 publish 方法。
PostsController
class PostsController extends Controller
{
public function __construct()
{
$this->middleware('auth')->except(['index', 'show']);
}
public function store()
{
auth()->user()->publish(
new Post(request(['title', 'body']))
);
}
}
当发布方法被调用时,注入的 Post 类会自动将 user_id 设置为 save 方法。
我的问题是,在每个帖子都有 cmets 的情况下,我如何建立这样的关系。这些 cmets 与帖子和创建评论的用户相关联。
简而言之,当我调用 addComment 方法时,我应该同时拥有 user_id 和 post_id。
【问题讨论】:
标签: laravel eloquent laravel-5.6