簡體   English   中英

Laravel 5.4關系has很多不起作用

[英]Laravel 5.4 Relationship hasMany not working

我有2個模特文章和藝術類別

我使用belongsTo()和hasMany()在兩個模型之間建立了一對多關系。 hasMany()關系可以正常工作,但是belongTo()不起作用。 有人知道我在哪里弄錯了嗎?

代碼模型

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

這是數據庫結構Table up是pjt_article,table down是pjt_categories_article 在此處輸入圖片說明

結果

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

在此處輸入圖片說明

關系不起作用

您應該在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()應為artCategory()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM