0

我什至不知道如何正确命名这个问题。

问题是:我有一个模型,它的属性包含的值是其他表中行的 ID。

例子:

Person['type'] = 108

在另一个表中,ID '108' 的值将等于“全职”。

目前我的模型返回值:

Person['type'] = 108

相反,我希望我的模型返回与“108”关联的值,如下所示:

Person['type'] = "Full Time"

在相关表中,列名分别为:“id”和“optionValue”

我将如何在 Laravel 4 中执行此操作?

4

1 回答 1

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');
    }

}

/编辑

现在你可以找到一个人:

$person = Person::find(1);

并以这种方式打印类型:

echo $person->type->name;

它应该打印“全职”。

我假设您的 person_types 表有一个“名称”列,您可以在其中存储类型名称。

于 2013-09-03T00:02:12.053 回答