Как сохранить группу полей в переменной после запроса -> get () - PullRequest
0 голосов
/ 10 июля 2019

Ниже приведен мой запрос, который может выводить более одной строки.Мне нужно сохранить поле user_id в каждой строке в переменной $ send_user_id ниже, чтобы я использовал цикл foreach в блейде.В настоящее время я получаю сообщение об ошибке (пытаюсь получить свойство необъектного объекта).

$j_request = DB::table('grpusrs')
            ->join('users', 'users.id', '=', 'grpusrs.user_id')
            ->join('groups', 'grpusrs.group_id', '=', 'groups.id')
            ->where('groups.owner_id', $user_id)
            ->where('grpusrs.join_request', 1)
            ->get();

      $send_user_id = $j_request->user_id;

Также этот запрос объединяет две таблицы, так как мне указать таблицу с обязательным полем?(т.е. я хочу, чтобы user_id был в таблице «Grpusrs», а не в таблице «Groups»)

1 Ответ

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

Если вам нужно получить несколько user_id, вы можете перебрать объект $j_request и собрать каждый user_id внутри массива.

$j_request = DB::table('grpusrs')
            ->join('users', 'users.id', '=', 'grpusrs.user_id')
            ->join('groups', 'grpusrs.group_id', '=', 'groups.id')
            ->where('groups.owner_id', $user_id)
            ->where('grpusrs.join_request', 1)
            ->select('users.*', 'contacts.phone', 'orders.price')
            ->get();

$send_user_id = [];

$j_request->each(function($item) use ($send_use_id){
    $send_user_id[] = $item->user_id;
});

Если вам нужен только один user_id, вы должны быть более «точными» в своем запросе (получите только одну запись).После этого вы можете получить user_id просто с помощью $j_request->user_id

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