Laravel 关系,不知道怎么表现

Laravel Relationships, don't know how to display

我有两个模型。商业与城市。

企业:

  1. id
  2. 标题

-一些栏目--

  1. city_id

城市:

  1. id
  2. 姓名

获取商户数据查看时如何显示城市名称

我能够使用 laravel voyager 课程显示城市

当我想得到它时 $business->city_id

你有2个选项。首先,您可以在控制器上获取城市详细信息:

Business::with('city')...;

在blade

$business->city->name;

其他选项直接在 blade 上获取它。我不推荐这样做,因为会有额外的数据库查询。

$business->city()->name;

如果您使用的是模型,则可以通过在模型代码中添加 hasOne 或 hasMany 来创建关系。 当您从控制器调用它时,您可以使用 'with' 查询调用您在模型中编写的关系。

型号

public function city()
{
    return $this->hasOne(City::class,'id','cityid');
}

控制器

$business=Business::with('city')->first();
$cityname=$business->city->name;

如果你不使用模型,你可以使用'join'

连接