Как я могу написать сложные запросы в красноречивом Orm? - PullRequest
0 голосов
/ 22 марта 2019
SELECT * FROM user_fields WHERE (SELECT CITY FROM register_expert WHERE PERMISSION=1 AND ID=user_fields.ID_USER_FIELD)='$city_save'AND TITLE_USER_FIELD='$text_search_service';

Вот register_expert таблица изображение

А вот и user_fields стол маг

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Я думаю, что запрос Eloquent должен выглядеть примерно так, но, как я уже сказал в своем комментарии, база данных и запрос не очень хорошо спроектированы, поэтому я не думаю, что он будет работать, но у вас есть представление о том, как сделать более сложным запросы в Eloquent.

$registerExperts = RegisterExperts::whereColumn('ID_USER_FIELD', 'user_fields.ID')
    ->Andwhere('PERMISSION', '=', 1)
    ->limit(1)
    ->select('city')
    ->get();

$users = User::where($registerExperts->get('city') , '=', $city_save)
->andWhere('TITLE_USER_FIELD', '=', $text_search_service)
->get();

И вот хорошая первая статья, чтобы узнать, как создавать сложные запросы с помощью Eloquent ORM: Динамические отношения в Laravel с использованием подзапросов от Джонатана Рейнинка

0 голосов
/ 22 марта 2019

Предполагая, userFields это ваши модели.

userFields::selectRaw("user_fields.ID_USER_FIELD")
            ->join('register_expert', function($join) use ($city_save){
                $join->on('register_expert.id', 'user_fields.ID_USER_FIELD')
                    ->where('PERMISSION', '1')
                    ->where('city', $city_save)
            })->where('TITLE_USER_FIELD', $text_search_service);

Попробуйте этот код.

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