ПЕревести синтаксис Mysql в Laravel

135
27 февраля 2022, 12:50

Есть запрос

SELECT t1.user_id 
FROM likes t1
JOIN likes t2 ON t1.user_id = t2.like_user 
             AND t2.user_id = 1
             AND t1.like_user = 1

как мне его записать в Laravel?

пробую так

$users = DB::table(DB::raw('likes t1'))
       ->join(DB::raw('likes t2'), 't1.user_id', '=', 't2.like_user ')
       ->where('t2.user_id', '=', '1')
            ->where(' t1.like_user', '=', '1')->paginate(15);

но выдает

Base table or view not found: 1146 Table 'extremje_dating.DB::raw('likes t1')' doesn't exist (SQL: select count(*) as aggregate from `DB::raw('likes t1')` inner join `DB::raw('likes t2')` on `t1`.`user_id` = `t2`.`like_user ` where `t2`.`user_id` = 1 and ` t1`.`like_user` = 1)
Answer 1

Попробуй вот так

$users = DB::table('likes AS t1')
    ->join('likes AS t2', function ($join) {
        $join->on('t1.user_id', '=', 't2.like_user')
             ->where('t2.user_id', '=', '1')
             ->where('t1.like_user', '=', '1');
    })
    ->paginate(15);
READ ALSO
Как сделать автоматический рестарт mariadb-10.3 в контейнере Docker при падении?

Как сделать автоматический рестарт mariadb-10.3 в контейнере Docker при падении?

Есть БД установленная в контейнере докер, бывает она падает, как можно отслеживать это дело и рестартить ее автоматически? Система Centos панель...

132
Скрыть токен telegram-бота в открытом коде

Скрыть токен telegram-бота в открытом коде

Необходимо выложить код telegram-бота на GitHubКаким образом можно скрыть его токен?

134
Оптимизация кода (ternary + for)

Оптимизация кода (ternary + for)

Решил задачку, но код все же надо оптимизироватьНе могу понять, как можно избавиться от тернарного в return, добавив его в цикл for(точнее во второе...

83
Какую коллекцию применить?

Какую коллекцию применить?

Например, мы имеем следующий класс:

134