我有这个问题:
static function findIdOnName($pageName){
return Fanpages::select('id')
->where('url', '=', $pageName)
->get();
}
回复:(完成print_r时)
[{" ID":17}]
我只是想要INT(在这种情况下为17)我搜索了互联网,但我无法找到它。随机尝试在查询中添加 - > toString()等,但到目前为止,没有好处。
答案 0 :(得分:2)
如果您没有返回包含数据的视图,那么Laravel会自动将您的数据转换为json。为了达到你想要的效果,你可以简单地做一些像
这样的事情$data = Fanpages::select('id')->where('url', '=', $pageName)->get();
die($data->id);
但是,不建议退出此类应用程序。您应该保留json响应并使用它,或者将数据发送到基本刀片模板。
答案 1 :(得分:2)
您的代码返回Collection
一个Model
(如果有更多匹配的where子句,则返回多个模型),而您需要的方法是pluck
:
return Fanpages::where('url', '=', $pageName)->pluck('id');
// returns INT 17
因为它返回匹配id
子句的第一行的列WHERE
的值。