当前位置: 首页 > 知识库问答 >
问题:

Laravel 5.4关系有许多不工作

贲招
2023-03-14

我有两个模型文章和艺术类别

我使用belongsTo()和hasMany()在两个模型之间建立了一对多关系。hasMany()关系运行良好,但belong-to()不运行。有人知道我哪里犯错了吗?。

代码模型

class ArtCategories extends Model
{
    protected $table = 'pjt_categories_article';
    protected $primaryKey = 'cate_id';
    protected $fillable = ['cate_id','categories'];

    public function Article(){
        return $this->hasMany(Article::class);
    }
}
class Article extends Model
{
    protected $table = 'pjt_article';
    protected $primaryKey = 'article_id';
    protected $fillable = ['article_id','title','descriptions','username','cate_id','status','visit','reference'];

    public function ArtCategories(){
        return $this->belongsTo(ArtCategories::class,'cate_id');
    }

    public function admin(){
        return $this->belongsTo(Admin::class);
    }
}

结果

$ART=article::findorFail($article_ID);$CATE=artCategories::Pluck('categories','cate_id');dd($ART);

关系不工作

共有1个答案

阎德辉
2023-03-14

应在ArtCategories的关系方法中添加外键

class ArtCategories extends Model
{
    protected $table = 'pjt_categories_article';
    protected $primaryKey = 'cate_id';
    protected $fillable = ['cate_id','categories'];

    public function article(){
         return $this->hasMany(Article::class, 'cate_id');
    }
}

现在以ArtCategories方式获取文章:

$art = Article::with('ArtCategories')->findOrFail($article_id);
$cate = ArtCategories::pluck('categories', 'cate_id');
dd($art);

作为laravel约定,article()方法应该是articles(),而ArtCategories()应该是ArtCategories()

 类似资料:
  • 编辑: 我正在使用热切加载,我认为这将影响它的工作方式。

  • 我已经在Laravel项目中通过php artisan make:auth命令生成了注册表单。我想通过添加一些功能来定制它,用户可以在注册时选择自己的性别。我制作了一个genders表,该表的genders列包含两个值Man和Woman,并在users表中添加了gender_id列。我有很多关系,但当我尝试注册用户时,他已注册,但性别id列仍然为空。我不知道错在哪里。感谢您的帮助。这是我的密码。

  • 我使用下面的代码创建了20篇帖子,每个帖子都有3条评论。 相反,我想创建20个帖子,每个帖子都有随机数量的评论(例如,帖子1有2个评论,帖子2有4个评论,等等)。) 这不起作用,每个帖子都有相同(随机)数量的评论。 我怎样才能做到这一点?

  • 我正在尝试处理一个对我来说相当复杂的表格... 我们有收藏,其中包含书籍(OneTo多国),文章(OneTo多国)及其作者(ManyTo多国)。 用户可以编辑一本书:他可以添加或删除一篇文章,还可以为每篇文章添加或删除一些作者。有嵌套表单:book 实体描述看起来很好,数据库是由控制台生成的,看起来是一致的。 如果我不必与使用图书版表单的作者打交道,这就很好了。如果作者存在,我有一个重复条目错误。

  • 问题1:无法更新关系表 =2020-03-30 08:48:51,其中=132) 我有两个表和,其模式如下 问题2:是表单中的一个隐藏字段。但是,我更愿意从控制器传递它。有什么办法吗?

  • 我正在读MongoDB在行动这本书。我有一个关于的问题。 在中,该书给出了一个多对多关系的示例。它给出了文档和文档。 我理解这里的多对多关联。基本上,可以有一个带有_id等数组的键。所以我不想问类似MongoDB多对多关联的问题 我的问题是关于的,书中给出了关于查询多对多关系的两个示例查询。下面是两个查询: > 是什么意思?我以为只存在于Ruby驱动程序中。 中的是什么?是收藏吗? 中的是什么?

  • 我有一个设置,猫可以由许多主人拥有,每个主人可以拥有几只猫。有鉴于此,我想写一个规范来帮助我找到所有拥有给定主人名字的猫。 下面是一个简单的类设置。 *简洁性方面没有获得者/接受者。Id字段位于超类中。 *简洁性方面没有获得者/接受者。Id字段位于超类中。 这是一个存储库,其中有一个有效的查询和一个无效的规范。 请帮我写一下说明书。 我遇到的问题是,这种关系似乎需要与这种关系的表达方式背道而驰:主