0

我的数据库结构是这样的:

User
-id
-jobRole (comma separated list of option ids)

Options
-id (included in the list of ids in jobRole above)
-value

要将用户表中的“jobRole”与选项表相关联,我会这样做:

jobRoles = SELECT * FROM Options WHERE id IN(1,2,3,4,5)

当我在 laravel 中将关系船设置为“belongsTo”时,它运行的查询是这样的:

SELECT * FROM Options WHERE id IN('1,2,3,4,5')

*看看它是如何引用列表的!

我怎样才能让 laravel 在没有引号的情况下运行相同的查询?

目前在我的模型中,我的关系结构如下:

public function jobRole(){
    return $this->belongsTo('JobRole', 'jobRole');
}
4

1 回答 1

1

我同意“彼得”。但这是你的答案:

$Options = Options::whereIn('id', explode(',', $User->jobRole))->get();

http://laravel.com/docs/queries#selects

于 2013-09-04T07:08:07.557 回答