У меня есть три таблицыКак получить все данные, используя отношение?
users
posts
comments
мой вопрос заключается в том, чтобы получить пользователь почты и отправлять комментарии в одном запросе.
спасибо заранее
У меня есть три таблицыКак получить все данные, используя отношение?
users
posts
comments
мой вопрос заключается в том, чтобы получить пользователь почты и отправлять комментарии в одном запросе.
спасибо заранее
Ваш вопрос ответ уже дал на @ Никлас Kevin Frank.
для получения следующей FatalErrorException ошибки в Model.php строке 867: Class 'Post' не найдена ошибка, в вашем классе модели модифицируют свой hasmany к этому: App \ User
<?php
class User extends Model
{
public function posts()
{
return $this->hasMany('App\Post');
}
}
в модели сообщений
<?php
class Post extends Model
{
public function comments()
{
return $this->hasMany('App\Comment');
}
public function user()
{
return $this->belongsTo('App\User');
}
}
в комментариях модель
<?php
class Comment extends Model
{
public function posts()
{
return $this->belongsTo('App\Post');
}
}
и в контроллере
$data = User::findOrFail(1)->posts()->get();
Вы можете использовать следующее:
User::find($id)->with('posts','posts.comments')->get();
Таким образом, вы получите пользователь и его сообщения и комментарии сказали сообщения.
Для только сообщений доступа, которые принадлежит к пользователю необходимо выполнить следующие действия:
User::find($id)->with('posts')->get();
, спасибо, что ответили. Я добавил ваш код в индексный метод контроллера пользователя как $ data = User :: find (1) -> with ('posts', 'posts.comments'); \t print_r ($ data); но он будет печатать бесполезный вывод – vision
получить следующую ошибку FatalErrorException в Model.php line 867: Class 'Post' не найден – vision
все тот же .i обновил мой вопрос с UserController.php – vision
спасибо за ответ. я попробую – vision
спасибо. Наконец-то это сделало трюк. – vision