【发布时间】:2015-10-24 21:55:52
【问题描述】:
我正在构建一个前端有 Angular,后端有 Laravel 的应用程序。我的问题是,如何通过使用帖子表上的“author_id”与用户表上的“user_id”来返回/检索用户的全名?我有一个用户表和一个帖子表,如下所示:
users table
user_id | fullname | email | password | active
posts table
post_id | author_id (FK-user_id on users table) | text | timestamps
我的用户模型如下所示:
public function post()
{
return $this->hasMany('Post', 'author_id');
}
我的帖子模型如下所示:
public function user()
{
return $this->belongsTo('User', 'author_id');
}
假设我的路由是正确的(如果需要,我可以提供),我的 PostController 有这个检索帖子的方法:
public function getAllPostsByUserID($user_id)
{
$posts = Post::where("user_id", "=", $user_id)
->get();
if($posts) {
return Response::json($posts);
} else {
return Response::json(array('flash'=>'No posts by this user.'),500);
}
}
现在,我正在检索一个包含所有用户帖子的 JSON,但由于帖子表使用 author_id,我无法显示用户名,只能显示他的 ID。我已经看到这在 Laravel/Blade 上是如何工作的,您可以在其中链接方法,然后访问用户的全名,因为 hasMany 或 belongsTo 的 Eloquent 关系,但我似乎无法弄清楚如何在返回 JSON 时执行此操作角的一面。
提前致谢!
【问题讨论】:
-
逻辑上用刀片和角度其实没什么区别,顺便处理了吗?
标签: json angularjs laravel orm eloquent