我正在尝试在变量中痛解sql的结果。以下是sql(eloquent):
$key = $request->input('product_key'); // from previous page
$category_id = ProductModel::select(‘category_id’)->where(‘product_id’, $key)->get();
echo $category_id;
但是当我回应它时,输出看起来像[{“category_id”:301}]
我想只有301才能在变量中保存,以便我可以进一步使用它?
基本上我想得到所有class_id与给定产品相同的产品。注意我只有prodcut_id。
答案 0 :(得分:1)
也许您正在引用value
方法。在这里找到更多相关信息
https://laravel.com/docs/5.2/queries#retrieving-results
如果您甚至不需要整行,则可以使用value方法从记录中提取单个值。此方法将直接返回列的值:
来自文档的示例用法
$email = DB::table('users')->where('name', 'John')->value('email');
答案 1 :(得分:0)
尝试使用Eloquent的pluck
方法:https://laravel.com/docs/5.2/collections#method-pluck
$key = $request->input('product_key');
$category_id = ProductModel::where('product_id', $key)->pluck('category_id')->all();
echo $category_id;
这应该会产生一个包含单个元素的数组,这是您搜索的category_id
(或key
匹配多行时的更多元素,但只能匹配您想要的值)。