每个组可以有多个联系人,每个联系人可以有多个电话号码,您需要定义组到联系人和联系人到电话号码的一对多关系:
class Group extends Model {
public function contacts() {
return $this->hasMany(Contact::class);
}
}
class Contact extends Model {
public function phoneNumbers() {
return $this->hasMany(PhoneNumber::class);
}
}
Run Code Online (Sandbox Code Playgroud)
定义关系后,您将能够加载组、他们的联系人和联系人的电话号码:
$groups = Group::with(['contacts', 'contacts.phoneNumbers'])->get();
Run Code Online (Sandbox Code Playgroud)
这将为您提供一组组。每个组都将在其联系人属性中包含一组联系人。每个联系人都将在其phoneNumbers属性中包含电话号码集合。通过遍历这些集合,您应该能够获得呈现所需结构所需的数据,例如:
@foreach($groups as $group)
{{ $group->name }}
@foreach ($group->contacts as $contact)
{{ $contact->name }}
@foreach ($contact->phoneNumbers as $number)
{{ $number->number }}
@endforeach
@endforeach
@endforeach
Run Code Online (Sandbox Code Playgroud)
有关如何使用 Eloquent 对数据建模的所有必要信息都可以在文档中找到:https : //laravel.com/docs/master/eloquent
归档时间: |
|
查看次数: |
2280 次 |
最近记录: |