相关疑难解决方法(0)

Laravel 4:如何在多对多关系中获取选定/特定列?

我希望获得与某个对话相关的所有用户.数据透视表有列user_idconversation_id列.user_id并分别conversation_id引用iduser和conversations表中的列.

所以我做了 :

Conversations::find($conv_id)->users()
Run Code Online (Sandbox Code Playgroud)

这没关系,但它返回相关用户的所有细节.基于上面的代码,我该如何返回用户的某些列,比如idname

Ps此外,我知道我可以通过为数据透视表创建一个模态来实现这一点,但这似乎是一种矫枉过正.为数据透视表创建模态是一个好习惯吗?

我试过了

Conversations::select('id','name')->find($conv_id)->users()->get()->toArray();
Run Code Online (Sandbox Code Playgroud)

但结果仍然相同.

我也试过了

Conversations::find($conv_id)->users()->get(array('id','name'))->toArray();
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous.. 
Run Code Online (Sandbox Code Playgroud)

感谢您的时间.

php mysql laravel eloquent laravel-4

3
推荐指数
1
解决办法
2346
查看次数

标签 统计

eloquent ×1

laravel ×1

laravel-4 ×1

mysql ×1

php ×1