Предварительный просмотр запроса для трех пользователей, класса, таблиц, статьи laravel - PullRequest
0 голосов
/ 10 января 2019

У меня есть пользователь регистратора. Я хочу показать статьи, категории только для этого пользователя.

Схема базы данных:

Users:    category:    article:
  id      id           id
  name    name         title
          users_id     categories_id

Модель пользователя

class User extends Model

public function Category
{
    return $this->hasMany(Category::class,'users_id');
}

категория модели (работы)

class Category extends Model
{
    public function article
    {
        return $this->hasMany(Article::class );
    }

    public function users
    {
        return $this->belongsTo(User::class, 'users_id');
    }

модель изделия (работы)

class Article extends Model
{
    public function category()
    {
        return $this->belongsTo(Category::class,'categories_id');
    }

Категория контроллера

 class CategoryController extends Controller
 {
     public function index()
     {
         $categories = Category::all();
         return view('category. view', compact('categories'));
     }

 class Article Controller extends Controller
 {
     public function index()
     {
         $articles = Article::all();
         return view(' article . index', compact('articles'));}

1 Ответ

0 голосов
/ 10 января 2019

В вашем контроллере вы можете использовать следующий код:

public function getArticles(){
      $user = auth()->user();
      $articles = $user->articles;
      return view('articlesView',array('articles' => $articles));
}
    public function getCategories(){
      $user = auth()->user();
      $articles = $user->categories;
      return view('categoryView',array('articles' => $articles));
}

Чтобы эти функции работали, вам нужно добавить эти методы в вашу модель User:

public function categories(){
      return $this->hasMany('App\Category');  
}
public function articles(){
      return $this->hasMany('App\Articles');
}
...