Php 在Laravel中设置一个OMANY关系,在关系中设置异常

Php 在Laravel中设置一个OMANY关系,在关系中设置异常,php,laravel,laravel-5,eloquent,one-to-many,Php,Laravel,Laravel 5,Eloquent,One To Many,我已经创建了具有OneToMany关系的表。两个表是商场和商店。每个商城可以有许多商店,但问题是每个商店不一定属于商城。它可以是一个独立的商店 当我调用App\Shop::first()->mall时,如果商店不属于mall它会返回null还是抛出异常或错误 在Eloquent中如何实现这一点?当您访问应用程序\商店::first()->mall时,Eloquent尝试使用存储在商店的mall\u id属性中的值加载相关的mall模型。如果包含值,则加载相关对象(如果存在)。如果不是,则返回NU

我已经创建了具有OneToMany关系的表。两个表是
商场
商店
。每个
商城
可以有许多
商店
,但问题是每个
商店
不一定属于
商城
。它可以是一个独立的商店

当我调用
App\Shop::first()->mall
时,如果商店不属于
mall
它会返回
null
还是抛出异常或错误


在Eloquent中如何实现这一点?

当您访问应用程序\商店::first()->mall时,Eloquent尝试使用存储在商店的mall\u id属性中的值加载相关的mall模型。如果包含值,则加载相关对象(如果存在)。如果不是,则返回NULL。如果它不包含任何值,则再次返回NULL,因为不可能存在具有此类ID的相关记录。

当您访问App\Shop::first()->mall时,Eloquent尝试使用存储在Shopmall\u ID属性中的值加载相关的mall模型。如果包含值,则加载相关对象(如果存在)。如果不是,则返回NULL。如果它不包含任何值,则再次返回NULL,因为不存在具有此类ID的相关记录。

让我们了解一下您的情况,您有购物中心模型和商店模型。一个商场可能有多个店铺,而店铺可能属于也可能不属于商场

这是商场模型的代码

public function shop() {
   return $this->hasMany(Shop::class);
}
这是商店模型的代码

public function mall(){
  return $this->belongsTo(Mall::class);
}

这将满足你的要求。当一家商店不属于任何商场时,它将返回null而不是错误。

让我们了解一下您的情况,您有商场模型和商店模型。一个商场可能有多个店铺,而店铺可能属于也可能不属于商场

这是商场模型的代码

public function shop() {
   return $this->hasMany(Shop::class);
}
这是商店模型的代码

public function mall(){
  return $this->belongsTo(Mall::class);
}

这将满足你的要求。每当一家商店不属于任何商场时,它都会返回null而不是错误。

这是一件你可以通过尝试了解情况来学习的事情。由于找不到与商店相关的购物中心,雄辩的返回空值。这是一件你可以通过尝试了解会发生什么的事情。由于未找到与商店相关的购物中心,因此雄辩返回NULL。