正确使用 Eloquent 关系
Correctly use Eloquent relationships
我正在开发一个具有 4 个数据库表的 Laravel 4 应用程序:
- 治疗师
- 治疗师类型
- 直辖市
- 县
我正在使用外键引用其他表中的数据。
关系如下:
- 一个治疗师可以有一个治疗师类型,市和县
- 一个治疗师类型和城市可以属于多个治疗师。
- 一个市可以有一个县。
- 一个县可以属于多个城市和治疗师。
我正在使用 Eloquent ORM。
这是我尝试使用的代码:
治疗师模型:
public function therapistType() {
return $this->belongsTo('TherapistType');
}
public function municipality() {
return $this->hasOne('Municipality');
}
public function county() {
return $this->hasOne('County');
}
}
市政模型:
public function county() {
return $this->hasOne('County');
}
在我的控制器中,我使用以下代码来获取治疗师:
$therapists = Therapist::paginate(10);
return View::make('index', compact('therapists'));
最后,在我看来,这就是我希望为治疗师获得相应治疗师类型的方式:
<span class="therapisttype">{{{ $therapist->therapistType }}}</span>
但是我没有得到任何数据。
我做错了什么?
$therapist->therapistType
应该返回一个对象,但您没有回显所述对象的 属性。让我们假设 therapistType
table 有一个 name
属性,那么你应该做
{{$therapist->therapistType->name}}
如果你想呼应那个名字。
我将从 var_dumping 对象开始,你可以使用 $therapist->therapistType
假设你已经正确设置了关系,你应该能够看到它的所有属性。
希望对您有所帮助。
我正在开发一个具有 4 个数据库表的 Laravel 4 应用程序:
- 治疗师
- 治疗师类型
- 直辖市
- 县
我正在使用外键引用其他表中的数据。 关系如下:
- 一个治疗师可以有一个治疗师类型,市和县
- 一个治疗师类型和城市可以属于多个治疗师。
- 一个市可以有一个县。
- 一个县可以属于多个城市和治疗师。
我正在使用 Eloquent ORM。
这是我尝试使用的代码:
治疗师模型:
public function therapistType() {
return $this->belongsTo('TherapistType');
}
public function municipality() {
return $this->hasOne('Municipality');
}
public function county() {
return $this->hasOne('County');
}
}
市政模型:
public function county() {
return $this->hasOne('County');
}
在我的控制器中,我使用以下代码来获取治疗师:
$therapists = Therapist::paginate(10);
return View::make('index', compact('therapists'));
最后,在我看来,这就是我希望为治疗师获得相应治疗师类型的方式:
<span class="therapisttype">{{{ $therapist->therapistType }}}</span>
但是我没有得到任何数据。
我做错了什么?
$therapist->therapistType
应该返回一个对象,但您没有回显所述对象的 属性。让我们假设 therapistType
table 有一个 name
属性,那么你应该做
{{$therapist->therapistType->name}}
如果你想呼应那个名字。
我将从 var_dumping 对象开始,你可以使用 $therapist->therapistType
假设你已经正确设置了关系,你应该能够看到它的所有属性。
希望对您有所帮助。