【发布时间】:2017-12-12 13:00:37
【问题描述】:
我获取评论者的问题是我在它 cmets 时保存了用户 ID,并返回帖子下方的所有 cmets,但是当我也尝试返回用户名时,Laravel 给出了一个错误,我猜是因为它不知道应该从 users 表中返回哪个用户 ID。目前cmets的控制器如下:
$comments = DB::select("Select * from comments where article_id = $articleID");
我得到$articleID 的路径,以从数据库中查找文章内容,并在 cmets 表中使用它来查找属于的 cmets到具体的文章。但是当我尝试例如
$commenter = User::where('id', $comments->user_id)->first();
它失败了。我尝试了几个版本的这种类型的 SQL 命令,但都不起作用。因为它不知道我在说哪个评论者(我猜)。你知道我该怎么做吗?
【问题讨论】:
-
我认为您需要做的第一件事是在您的
DB::select()上致电get()。所以它会是$comments = DB::select("Select * from comments where article_id = $articleID")->get();然后我想你会收到一个集合,而不是一个 cmets 对象,所以你需要迭代调用$commenter = User::find($comments->user_id)->get();的数组@ -
哦,是的,我知道。我刚刚为 smaple 编写了该代码。我尝试了 laravel 和 mysql 的一堆东西。感觉就像控制器在选择合适的用户时感到困惑
标签: php mysql laravel controller laravel-5.4