Изменение запроса laravel делает страницу непригодной для использования

Я пытаюсь изменить запрос в приложении словаря, которое использует Laravel 3.
Эта часть кода была найдена в папке моделей.

public static function getItems( $orderBy, $limit = null, $term_id = null )
{
$query  = 'SELECT definitions.*, terms.term, COUNT(DISTINCT(likes.id)) AS likes, COUNT(DISTINCT(dislikes.id)) AS dislikes,
CASE WHEN COUNT(voted.id) > 0 THEN 1 ELSE 0 END AS voted,
GROUP_CONCAT(DISTINCT(tags.name) SEPARATOR ",") AS tags ';
// Select all the definition information, and count the likes and dislike records
// Get whether the user has voted also
$query .= 'FROM definitions ';
// From definitions

$query .= 'INNER JOIN terms ON terms.id = definitions.term_id ';

$query .= 'LEFT JOIN votes AS likes ON definitions.id = likes.definition_id AND likes.score = 1 ';
// Join on the votes table by likes
$query .= 'LEFT JOIN votes AS dislikes ON definitions.id = dislikes.definition_id AND dislikes.score = -1 ';
// Join on the votes table again, but by dislikes
$query .= 'LEFT JOIN votes AS voted ON definitions.id = voted.definition_id AND voted.ip = ? ';
// Join on the votes table again, but for voting

$query .= 'LEFT JOIN definition_tag ON definitions.id = definition_tag.definition_id ';
$query .= 'LEFT JOIN tags ON tags.id = definition_tag.tag_id ';
// Join on the tags table


$query .= 'WHERE approved = 1 ';
// Only get approved definitions matching the term

if ( ! is_null( $term_id ) )
{
$query .= 'AND definitions.term_id = ? ';
}

$query .= 'GROUP BY definitions.id ';
// Group by the definition id
$query .= 'ORDER BY '.$orderBy;
// And order by highest likes

if ( ! is_null( $limit ) ) $query .= ' LIMIT '.$limit;
// Add the limit

Я пытаюсь избавиться от части голосования (нравится и не нравится), поэтому я просто удалил соответствующие запросы.

public static function getItems( $orderBy, $limit = null, $term_id = null )
{
$query  = 'SELECT definitions.*, terms.term,
GROUP_CONCAT(DISTINCT(tags.name) SEPARATOR ",") AS tags ';
// Select all the definition information, and count the likes and dislike records
// Get whether the user has voted also
$query .= 'FROM definitions ';
// From definitions

$query .= 'INNER JOIN terms ON terms.id = definitions.term_id ';

$query .= 'LEFT JOIN definition_tag ON definitions.id = definition_tag.definition_id ';
$query .= 'LEFT JOIN tags ON tags.id = definition_tag.tag_id ';
// Join on the tags table

$query .= 'WHERE approved = 1 ';
// Only get approved definitions matching the term

if ( ! is_null( $term_id ) )
{
$query .= 'AND definitions.term_id = ? ';
}

$query .= 'GROUP BY definitions.id ';
// Group by the definition id

// And order by highest likes

if ( ! is_null( $limit ) ) $query .= ' LIMIT '.$limit;
// Add the limit

Но первая страница получает нулевой контент после изменений. Поэтому я исключил запрос в SQL, чтобы увидеть, возвращает ли он результаты, и он это сделал. В папке представлений нет ссылок на систему голосования.
Я никогда не использовал Laravel, поэтому я не знаю, с чего начать искать ответ.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]