需要一个INT从雄辩.获取JSON字符串


Need a INT from Eloquent. Getting JSON string

我有这样的查询:

 static function findIdOnName($pageName){
    return Fanpages::select('id')
                ->where('url', '=', $pageName)
            ->get();
}

响应:(当完成print_r时)

[{" id ": 17}]

我只想要INT(在这个例子中是17),我在网上搜索了它,但是我找不到任何关于它的信息。随机尝试添加->toString()等查询,但到目前为止,没有好的

您的代码返回Collection与单个Model(或多个模型,如果有更多匹配的where子句),而您需要的方法是pluck:

return Fanpages::where('url', '=', $pageName)->pluck('id');
// returns INT 17

,因为它返回匹配WHERE子句的第一行id列的值。

如果你没有返回一个带有数据的视图,那么Laravel会自动将你的数据转换成json。为了完成你想要的,你可以简单地做一些像

$data = Fanpages::select('id')->where('url', '=', $pageName)->get();
die($data->id);

但是,不建议这样退出应用程序。您应该保留json响应并使用它,或者将数据发送到基本的刀片模板。