作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Laravel 5.2。我的数据库设置为:
social_logins
ID | social_id | provider
-----------------------------
1 | x | twitter
2 | y | facebook
3 | z | twitter
twitter_data
ID | social_id | some_value | another_value
-----------------------------------------------
1 | x | 100 | 600
2 | y | 200 | 100
3 | z | 100 | 400
我的 social_logins 模型关系设置为:
public function twitterData()
{
return $this->hasMany('App\Models\TwitterData', 'social_id', 'social_id');
}
在我的 Controller 中,我想使用外键 social_id 取回某些列上的 twitter_data。到目前为止,我已经尝试过:$socialLogin->twitterData->select('some_value', 'another_value');但我只收到一条错误消息:
BadMethodCallException in Macroable.php line 74:
Method select does not exist.
如果我使用像 $socialLogin->twitterData->lists('some_value');
这样的 lists()
调用,我只能为一列获取数据返回,但如何让它适用于多列?
最佳答案
如果 lists()
适合您(顺便说一句,它在 5.3 中被删除并删除,请改用 pluck()
),那么使用多个参数也应该适合您:
$socialLogin->twitterData->pluck('some_column', 'another_column');
此外,您可以尝试在 get()
方法中传递列以仅获取您想要获取的列:
$data = $socialLogin->with('twitterData')->get(['some_column', 'another_column']);
关于php - 有没有办法在 laravel 5.2 中使用 Eloquent 一对多关系来选择列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39426697/
我是一名优秀的程序员,十分优秀!