Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
8 / 6 / 2
Регистрация: 25.12.2011
Сообщений: 115
1

Как правильно составить запрос для получения результата из другой таблицы?

04.11.2020, 23:04. Показов 644. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть задание.
Пытаюсь сделать так:
Взять Auth пользователя и сравнить его значение с Auth другой таблицы.
Если значения совпадут, то вывести количество money для текущего пользователя.
Пока что получилось следующее:
PHP
1
2
$auth = Auth::user()->auth;
 $lk = App\Models\Lk::select('cash','auth')->where('auth',$auth)->get();
Но переменная $lk возвращает NULL.
Где я не правильно делаю?
Миниатюры
Как правильно составить запрос для получения результата из другой таблицы?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2020, 23:04
Ответы с готовыми решениями:

Как правильно составить запрос на получения данных
У меня есть рабочий запрос на получение данных. Но работает он только если искать по id :wall:...

Как скорректировать запрос к БД для получения нужного результата
Друзья, подскажите, каким образом нужно скорректировать запрос, что бы получить выделенную красным...

Для получения результата составить функцию, исходными данными которой являются два массива
Для получения результата составить функцию, исходными данными которой являются два массива...

Запрос для получения временной таблицы
При построении запроса столкнулся с проблемой, выполняется только первый запрос из строки,...

8
47 / 47 / 4
Регистрация: 05.06.2009
Сообщений: 122
20.11.2020, 00:15 2
В модель Auth добавь
PHP
1
2
3
4
public function cash()
{
        return $this->hasOne(Lk::class, 'auth', 'auth'); // Один к одному. Если один ко многим то hasMany(...)
}
И там где нужно используй ->with('cash')
Например:
PHP
1
$user = Auth::whereId($id)->with('cash')->first()->toArray(); // в $user['cash'] вложенность которая тебе нужна
1
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
22.11.2020, 09:17 3
А вы проверяли что находится в переменной $auth? А зря.
PHP
1
$auth = Auth::user()->auth();
А в целом, предыдущий автор вам правильно написал. Для этих целей существуют отношения.
0
8 / 6 / 2
Регистрация: 25.12.2011
Сообщений: 115
22.11.2020, 16:27  [ТС] 4
Модель auth идет по умолчанию, где она лежит в Laravel 8 я не знаю

Добавлено через 3 минуты
$auth = Auth::user()->auth(); - не понятно зачем вы это вообще написали.
Мне надо просто получить значение cash(money) для пользователя НЕ по его id а по SteamID путем сверки данных.
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
22.11.2020, 16:40 5
Цитата Сообщение от kalder Посмотреть сообщение
Модель auth идет по умолчанию, где она лежит в Laravel 8 я не знаю
если не знаете, то хотябы документацию почитайте.
Цитата Сообщение от kalder Посмотреть сообщение
$auth = Auth::user()->auth(); - не понятно зачем вы это вообще написали.
я написал это, потому что первая строка вашего кода должна выглядеть так, а не так как у вас.
0
8 / 6 / 2
Регистрация: 25.12.2011
Сообщений: 115
22.11.2020, 17:20  [ТС] 6
В документации указано отношения по id а не по другим столбцам. Тем более что id пользователей таблиц абсолютно разные.
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
22.11.2020, 17:45 7
kalder, отношение можно сделать по любым столбцам.
Я лишь вам указал на ошибку в вашем коде. Если вы не хотите пробовать, то это ваш выбор.
0
8 / 6 / 2
Регистрация: 25.12.2011
Сообщений: 115
22.11.2020, 18:26  [ТС] 8
MadHatter, если бы я не пробовал делать то что в документации то я бы не писал сюда. В документации используют пример таблиц с нуля то есть на примерах одной записи в каждой таблице. У меня же таблицы разные (например в users у моего профиля id = 1 а в другой таблице id = 4).
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
22.11.2020, 19:20 9
kalder, значит вам нужно выбрать поля, которые имеют одинаковые значения. Name, например. В документации указано как сделать связь, если вы не хотите использовать id. На первых же строчках.
0
22.11.2020, 19:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2020, 19:20
Помогаю со студенческими работами здесь

Как правильно составить запрос для поиска телефона
Всем привет, изначально создал тему тут:...

LINQ - запрос для получения разделенных данных из одной таблицы
Здравствуйте! Entity Framework 6, C#. Имеется таблица "участник" и таблица "протокол". Связь -...

Sql запрос для получения количества строк и имени таблицы
Здравствуйте ! Я хочу сделать такой запрос Select Count(*) From TableName Select @TableName По...

Не правильно выполняется запрос, если 2 столбца ссылаются на одно поле ID другой таблицы
Привет всем. Такая проблема. Есть таблица в которой 2 столбца ссылаются на одно поле ID другой...

Как правильно составить пост запрос? Для отправки сообщения в чат
Доброго времени суток! Собственно вот мой String request =...

Составить запрос для получения списка оценок с указанием фамилий студента
Добрый день помогите составить запрос для получения списка оценок с указанием фамилий студента и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru