仅存储sql select

时间:2017-04-27 19:41:52

标签: php sql laravel

我试图只获取没有列名的整数值(序列ID),这使它成为一个字符串。我在Laravel工作,所以如果需要,我可以使用Laravel函数进行SQL查询。

$idcko = DB::table('repairs')
         ->select('id')
         ->latest();

因此,当我打印idcko时,我会得到{"column name": 2}之类的内容 我只需要编号为2的地方。

更新:

在答案的帮助下,我提出了这个想法:

$idcko = DB::table('repairs')
                                ->select('id')
                                ->orderBy('id','desc')
                                ->first()
                                ->id;

因为我收到的错误是我没有时间戳列,而我想获得最新/最高id,我可以做一个小技巧并按id订购只选择第一行。

2 个答案:

答案 0 :(得分:1)

您只是想要检索列的值,因此请使用value()

$idcko = DB::table('repairs')
             ->select('id')
             ->latest()
             // ->first()      // get the first result -- may not be needed?
             ->value('id'); // or any other column name here

答案 1 :(得分:1)

latest()只是添加order by子句并返回构建器实例。 (See the API reference。)您仍然需要使用一些获取方法来实际获取任何记录以从中提取值。由于您尝试获取单个值,因此可以使用first(),然后从该记录中获取所需的属性。

$id = DB::table('repairs')->select('id')->latest()->first()->id;