Laravel从该系列中获取Id

时间:2018-04-17 11:04:11

标签: php laravel

Laravel从集合中获取Id

$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->get();        
        echo "<pre>";
        print_r($collection);
        echo "</pre>";
        exit();

如何从此集合中返回ID

因为我想更新该特定ID

5 个答案:

答案 0 :(得分:2)

如果user_idunique,请使用first()代替get()

$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first();

然后访问id,如

$id = $collection->id;

否则,您需要通过集合数组loop并从单个对象访问id

答案 1 :(得分:0)

$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->pluck(['id']);        
        echo "<pre>";
        print_r($collection);
        echo "</pre>";
        exit();

通过这种方式,您只能获得所有值的ID

答案 2 :(得分:0)

您只需使用该查询进行更新,而无需执行get

Test::whereDate('created_at', '=', $today)
          ->where('cuid', $user->id)
          ->where('month', date('m'))
          ->update([
            'column' => 'columnValue' 
           ]);

顺便说一句,你声称id应该是唯一的,但我发现在这个查询中有点难以置信,所以请确保你对这个假设完全100%正确。

答案 3 :(得分:0)

   Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->pluck('id')->toArray();

如果你知道它是独特的:

   Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first()->id;

答案 4 :(得分:0)

您正在使用get(),即使只有一个结果,也会返回收集。循环遍历它们或用first()替换get() 示例:如果您尝试获取单个元素。

$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first();        
        echo "<pre>";
        print_r($collection->id);
        echo "</pre>";
        exit();