【问题标题】:Query preview for three user, class, tables, article laravel三个用户、类、表、文章的查询预览 laravel
【发布时间】:2019-01-11 00:39:23
【问题描述】:

我有一个记录器用户,我想仅为该用户显示文章、类别。

数据库架构:

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'));}

【问题讨论】:

  • 您的代码中有一些语法错误。
  • 代码格式

标签: mysql laravel laravel-5.2 laravel-5.6


【解决方案1】:

在您的控制器中,您可以使用以下代码:

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));
}

为了使这些功能起作用,您需要将这些方法添加到您的用户模型中:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    相关资源
    最近更新 更多