Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.02.2015 18:44:45

nemocoder
Откуда: Almaty, Kazakhstan
Сообщений: 69

Использование сырого выражения

Помогите понять что не так и что я не так делаю

есть код SQL

select @a:=POW(max(count_votes), 1/10) from users;

select id,name,raiting, count_votes, ((LOG(@a,count_votes))+raiting)/2 as actual_raiting from users order by actual_raiting desc ;

делаю так выдает ошибку синтаксиса

public function getRat()
    {
        
        $rating = DB::statement('select @a:=POW(max(count_votes), 1/10) from users;

select raiting, count_votes, ((LOG(@a,count_votes))+raiting)/2 as actual_raiting from users order by actual_raiting desc; ');

        return $rating;
    }

пробывал вот так но не получается не считает как нужно

$rating = DB::table('users')
                        ->select(DB::raw('*, @a:=POW(max(count_votes), 1/10)  
                            raiting, count_votes, 
                            ((LOG(@a,count_votes))+raiting)/2 AS actual_raiting'))
                        
                        ->orderBy("actual_raiting")
                        ->get();

        return $rating;

Не в сети

#2 09.02.2015 11:57:10

nemocoder
Откуда: Almaty, Kazakhstan
Сообщений: 69

Re: Использование сырого выражения

Решено!!!!

$rating = DB::table('users')
            ->select(DB::raw('*, raiting, count_votes, ((LOG(POW(max(count_votes), 1/10),count_votes))+raiting)/2 as actual_raiting'))
            ->orderBy("actual_raiting")
            ->get();

спасибо чуваку со stackoverflow под ником lukasgeiter

Не в сети

Подвал раздела