我甚至不知道如何正确地标题这个问题。
以下是问题: 我有一个模型,其属性包含的值是其他表中行的ID。
示例:
Person['type'] = 108
在另一个表中,ID'108'的值等于“Full Time”。
目前我的模型返回值:
Person['type'] = 108
相反,我希望我的模型返回时带有与'108'相关联的值,如下所示:
Person['type'] = "Full Time"
在相关表中,列名是: “id”和“optionValue”
我如何在Laravel 4中这样做?
答案 0 :(得分:0)
看起来这些表之间存在基本关系。所以你必须
定义您的PersonType模型:
class PersonType extends Eloquent {
}
定义您的Person模型并添加关系:
class Person extends Eloquent {
public function type()
{
return $this->belongsTo('PersonType');
}
}
修改
如果您的表不遵循Laravel命名系统(person_type_id),则必须
class Person extends Eloquent {
public function type()
{
return $this->belongsTo('PersonType', 'type');
}
}
/ EDIT
现在你可以找到一个人:
$person = Person::find(1);
以这种方式打印类型:
echo $person->type->name;
应打印“全职”。
我假设你的person_types表有一个'name'列,用于存储你的类型名称。