我试图在两个表之间建立关系:
我的模特:
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('Shoe');
}
}
class Shoe extends Model
{
public function modele()
{
return $this->belongsTo(Modele::class, 'IdModele','id');
}
}
我的控制器:
class shoeController extends Controller
{
public function index()
{
$shoesList= \App\Shoe::with('modele')->orderBy('idModele')->get();
return view('shoe.index',compact('shoesList'));
}
}
当我dd($ shoeList)时,我有这个:
#relations: array:1 [▼
"modele" => null
]
如果我尝试像这样使用刀片中的参数:
<p>{{$shoe->modele->idGender}}</p>
我有这个错误:
抛出错误消息&#34;尝试获取非对象的属性(查看:C:\ laragon \ www \ ipepsShoes2017 \ resources \ views \ shoe \ index.blade.php)
我已经使用相同的方式在这个项目中的表之间建立了其他关系,并且它们正常工作。
我不明白为什么它不起作用。
谢谢。
答案 0 :(得分:0)
试试这个
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('App\Shoe');
}
}
class Shoe extends Model
{
public function modele()
{
return $this->belongsTo('App\Modele', 'IdModele','id');
}
}
在您的视图中首先检查{{print_r($ shoe-&gt; modele)}}如果您获得了对象,则调用param您需要的内容
答案 1 :(得分:0)
尝试为hasMany关系写一个外键 Modele 模型:
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('Shoe', 'IdModele');
}
}
希望它对你有所帮助:)。