kai*_*rra 5 php laravel eloquent laravel-4
我有一个模型,Ability,属于另一个模型AbilityType.
<?php
class Ability extends Eloquent {
public function abilityType() {
return $this->belongsTo('AbilityType');
}
public function name() {
return $this->abilityType->name;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以成功在我的刀片模板中进行此调用:
$ability->abilityType->name
Run Code Online (Sandbox Code Playgroud)
但是当我在我的Ability模型中进行相同的调用时,它会引发异常:
ErrorException Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation
Run Code Online (Sandbox Code Playgroud)
动态属性在视图和模型层之间的行为是否不同?我在这里错过了什么?
Laravel使用特殊getFooAttribute
语法来加载动态属性:
class Ability extends Eloquent {
public function abilityType ()
{
return $this->belongsTo('AbilityType');
}
public function getNameAttribute ()
{
return $this->abilityType->name;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9105 次 |
最近记录: |