[英]Laravel belongsTo & hasMany relation not working
我有一个名为champ_sales
的表,其中包含属于表champions
。 我已经正确设置了模型,并且尝试以与此处文档完全相同的方式进行查询: http : //laravel.com/docs/eloquent#querying-relations指出,但它不起作用。
class ChampSales extends Eloquent {
protected $table = 'champ_sales';
public function champ(){
return $this->belongsTo('Champion');
}
}
class Champion extends Eloquent {
protected $table = 'champions';
public function skins(){
return $this->hasMany('Skin');
}
//relevent relation here:
public function championOnSale(){
return $this->hasMany('ChampSales');
}
public function skinOnSale(){
return $this->hasMany('SkinSales');
}
}
我的查询:在表champions
找到id=2
start_date
$champsales = ChampSales::find(2);
echo $champsales->champ->start_date;
运行此命令给我一个模糊的错误,提示“试图获取非对象的属性”。 我不太确定自己做错了什么,将文档放在后面。
我刚刚修好了。 我在champ()中定义了本地键和外键。 我以为laravel命名约定会很好,但是我想不是。
class ChampSales extends Eloquent {
protected $table = 'champ_sales';
public function champ(){
return $this->belongsTo('Champion', 'champion_id', 'id');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.