我正在尝试建立两个表之间的关系:
我的型号:
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= AppShoe::with('modele')->orderBy('idModele')->get();
return view('shoe.index',compact('shoesList'));
}
}
当我添加($shoeList)时,我有这个:
#relations: array:1 [▼
"modele" => null
]
如果我尝试使用刀片中的参数,如下所示:
<p>{{$shoe->modele->idGender}}</p>
我有这个错误:
ErrorException抛出消息"正在尝试获取非对象的属性(View:C:\laragon\www\ipepsShoes2017\resources\views\shoe\index.blade.php)
我在这个项目中用同样的方法建立了表之间的其他关系,它们运行得很好。
我不明白为什么它不起作用。
谢谢。
尝试这个
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('AppShoe');
}
}
class Shoe extends Model
{
public function modele()
{
return $this->belongsTo('AppModele', 'IdModele','id');
}
}
在您的视图中,首先检查{{print_r($shoe->modele)}}如果您得到对象,则调用param所需的
尝试为hasMany编写外键与Modele模型:
class Modele extends Model
{
public function shoe()
{
return $this->hasMany('Shoe', 'IdModele');
}
}
希望它能帮助你:)