【发布时间】:2014-06-11 17:44:37
【问题描述】:
这是我的模型中的代码:
models/Book.php
类书扩展 \Eloquent {
function posts() { return $this->hasMany('Post'); } function user() { return $this->belongsTo('User'); } public function cover() { return $this->morphMany('Image', 'imageable'); } public function delete() { $this->posts()->comments()->delete(); $this->posts()->delete(); $this->cover()->delete(); // delete the model return parent::delete(); }}
models/Post.php
Class Post 扩展 Eloquent {
function book() { return $this->belongsTo('Book'); } function comments() { return $this->hasMany('Comment'); } function user() { return $this->belongsTo('User'); } public function delete() { $this->comments()->delete(); // delete the model return parent::delete(); }}
models/Comment.php
类注释扩展了 Eloquent {
function post() { return $this->belongsTo('Post'); } function user() { return $this->belongsTo('User'); }}
但在我的UserController.php 中,我无法访问我的评论。我试过这些代码:
public function show($id) { $user = User::find($id); $posts = Post::whereUserId($user->id) ->orderBy('created_at','deac')->get(); $comments = $posts->comments(); dd($comments); }
这总是说:
如何在帖子下访问我的 cmets?我也不认为$this->posts()->comments()->delete(); 不起作用。
【问题讨论】:
-
您是否只想获取特定用户的评论?
标签: php laravel laravel-4 eloquent