在 Laravel 9 中,查询单行单列的值
1、当表中存在多行数据时,实现如下。报错:Call to a member function value() on null。如图1
1 2 3 4 5 6 7 | $return = Order::query() ->select( 'id' ) ->where( 'transaction_no' , '=' , '1' ) ->first() ->value( 'id' ); var_dump( $return ); exit ; |
2、调整实现如下,当记录不存在时,查询结果为 NULL。当记录存在时,查询结果为 int(6),为第一条记录的 单列 值。符合预期。
1 2 3 4 5 6 7 | $return = Order::query() ->select( 'id' ) ->where( 'transaction_no' , '=' , '1' ) ->limit(1) ->value( 'id' ); var_dump( $return ); exit ; |
3、查看执行的 SQL,符合预期。如图2
1 | select `id` from `orders` where `transaction_no` = '1' limit 1 |
近期评论