Как конвертировать простой запрос с помощью Laravel Query Builder - PullRequest
0 голосов
/ 08 июля 2019

Я хочу преобразовать следующий запрос в построитель запросов Laravel:

select id from Grpusr where user_id = $u_id and group_id = $g_id

Я могу поставить только 1 переменную:

$grpusrow = DB::table('Grpusr')->where('group_id', $g_id) ->first();

Ответы [ 4 ]

2 голосов
/ 08 июля 2019

используйте два условия where для него.

$grpusrow = DB::table('Grpusr')->where(['user_id' => $u_id, 'group_id' => $g_id]) ->first();
1 голос
/ 08 июля 2019
$grpusrow = DB::table('Grpusr')->select('id')->where('group_id', $g_id)->where('user_id', $u_id)->get();

get() используется для получения всех записей, а first() используется для получения только первой записи в соответствии с условием

1 голос
/ 08 июля 2019

Более простой способ получить только один столбец - использовать value

Попробуйте приведенный ниже код, он будет только return id (or any other specific column)

$grpusrow = DB::table('Grpusr')->where('group_id', $g_id)>where('user_id', $u_id)->value('id');

вы также можете использовать get(), если хотите получить все детали этой записи

$grpusrow = DB::table('Grpusr')
                       ->where('group_id', $g_id)
                      ->where('user_id', $u_id)
                      ->get();
1 голос
/ 08 июля 2019
$grpusrow = DB::table('Grpusr')
                       ->where('group_id', $g_id)
                      ->where('user_id', $u_id)
                      ->get();

Использование get() instesd из first()

first() вернет один результат (один экземпляр модели), тогда как get() вернет коллекцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...