Mar*_*ark 3 php mysql laravel eloquent laravel-4
我希望获得与某个对话相关的所有用户.数据透视表有列user_id和conversation_id列.user_id并分别conversation_id引用iduser和conversations表中的列.
所以我做了 :
Conversations::find($conv_id)->users()
Run Code Online (Sandbox Code Playgroud)
这没关系,但它返回相关用户的所有细节.基于上面的代码,我该如何返回用户的某些列,比如id和name?
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)
感谢您的时间.
当您从两个包含调用字段的表中选择数据时id,就会收到Column 'id' in field list is ambiguous...错误的原因.
如果您再次尝试相同的查询,但id在表单中使用点表示法定义要选择的内容,table.field则应该可以使用.
Conversations::find($conv_id)->users()->get(array('users.id','name'))->toArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2346 次 |
| 最近记录: |