2017-03-16 53 views
0
class Article extends Model 
{  
    protected $fillable = ['category_id','author_id','title','img','description','text']; 

    public function user() 
    { 
     return $this->belongsTo('App\User'); 
    }  
    public function article_category() 
    { 
     return $this->belongsTo('App\ArticleCategory'); 
    } 
} 

class ArticleCategory extends Model 
{  
    protected $table = 'article_categories';  
    protected $fillable = ['name','hide'];  
    public function article() 
    { 
     return $this->hasMany('App\Article'); 
    } 
} 

User model 
    public function article() 
     { 
      return $this->hasMany('App\Article'); 
     } 

爲什麼在嘗試獲取作者姓名和文章類別名稱時出現錯誤?爲什麼我會得到下一個錯誤:嘗試獲取非對象的屬性? laravel

嘗試這種方式得到它的觀點: $物品─>用戶>名稱 $物品─> article_category->名稱

不能明白其中的道理:C

+0

因爲你有什麼不是一個對象。 –

+0

如果您嘗試$ article-> user() - >名稱 –

+0

@ChrisTownsend未定義的屬性:Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ name – Batmannn

回答

0

嘗試改變在

return $this->belongsTo('App\User'); 

return $this->belongsTo('App\ArticleCategory'); 

return $this->belongsTo('App\User', 'foreign_key');

return $this->belongsTo('App\ArticleCategory', 'foreign_key); 

都將會收到你在你的表格提供有關遷移的正確外鍵。也許你的外鍵不能識別。

+0

是的,問題是與外鍵,謝謝! (: – Batmannn

+0

不錯,不客氣! – Ramones

相關問題