gpt4 book ai didi

javascript - AngularJS belongsTo-hasMany 关系

转载 作者:行者123 更新时间:2023-11-29 14:52:53 25 4
gpt4 key购买 nike

我正在尝试学习将 AngularJs 与 Laravel 结合使用。我已经阅读和观看了许多 tuts,但我找不到任何使用 Laravel 关系的内容。我的帖子和作者模型之间有 belongsTo-many 关系。使用 Blade 时,我可以使用 {{$post->author->name}}

获取作者姓名

现在我正在尝试获取 angularjs。

    class Post extends Eloquent {
public function author()
{
return $this->belongsTo('Author');
}
}

class Author extends Eloquent {
public function posts()
{
return $this->hasMany('Post');
}
}

class UserController extends BaseController {

public function getIndex(){
$posts = Post::where('id','<','10')->get();
return Response::json($posts);
}

}

使用 js 文件:

// public/js/controllers/mainCtrl.js
angular.module('mainCtrl', [])
.controller('mainController', function($scope, $http, Post) {
$scope.postsData = {};
// loading variable to show the spinning loading icon
$scope.loading = true;

Post.get()
.success(function(data) {
$scope.posts = data;
$scope.loading = false;
});
//dont know how to get author here in foreach method
angular.forEach($scope.posts,function(post)...


});

// public/js/services/commentService.js
angular.module('postService', [])
.factory('Post', function($http) {

return {
// get all the posts
get : function() {
return $http.get('/api/posts/');
}
}
});

<div class="comment" ng-hide="loading" ng-repeat="post in posts">
<h3>Comment #{{ post.id }} </h3> <p>{{post.title}}</p>
{{post.author_id}} / {{post.author.name}}
</div>

我已接近解决方案,但仍然对如何在 Post 服务中获取作者姓名感到困惑。任何帮助表示赞赏。

谢谢

最佳答案

在您的用户 Controller 中,在检索帖子时预先加载作者,这将允许通过 post.author 以 Angular 访问它

public function getIndex(){
$posts = Post::with('author')->where('id','<','10')->get();
return Response::json($posts);
}

关于javascript - AngularJS belongsTo-hasMany 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22634061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com