Как написать SQL-запрос в CakePHP 2 - PullRequest
0 голосов
/ 05 февраля 2019

Я новичок в CakePHP, и я использую CakePHP 2.8, у меня есть один SQL-запрос, и я хочу преобразовать в запрос CakePHP, Как я могу это сделать?

Вот мой SQL-запрос, который работает нормальнов SQL, но я хочу, чтобы реализовать в формате Cakphp, Ниже приведен SQL-запрос

SELECT meta_description.tag_id,meta_description.tag_name,poll_meta.poll_id,polls.content,polls.type,polls.poll_type,polls.user_id,users.username,user_profile.first_name,user_profile.last_name, user_profile.image, user_profile.display_name
FROM meta_description
JOIN poll_meta
ON meta_description.tag_id=poll_meta.tag_id
JOIN polls
ON poll_meta.poll_id=polls.id
JOIN users
ON polls.user_id=users.id
JOIN user_profile
ON users.id=user_profile.user_id
WHERE meta_description.tag_id = ? AND polls.status = 1
            ORDER BY polls.id DESC

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

$polls['joins'] = array(
    array('table' => 'meta_description',
        'alias' => 'BooksTag',
        'type' => 'inner',
        'conditions' => array(
            ' meta_description.tag_id =$tag_id, 
            'polls.status'="1"

        )
    ),
    array('table' => 'poll_meta',
        'alias' => 'poll_meta',
        'type' => 'inner',
        'conditions' => array(
            'poll_meta.poll_id = polls.id'
        )
    )

   array('table' => 'users',
        'alias' => 'users',
        'type' => 'inner',
        'conditions' => array(
            'polls.user_id = users.id'
        )
    )   
   array('table' => 'user_profile',
        'alias' => 'user_profile',
        'type' => 'inner',
        'conditions' => array(
            ' users.id = user_profile.user_id'
        )
    )   
);

 'order' => array('Poll.date_created' => 'DESC'),
                'limit' => 10

$options['conditions'] = array(
    'meta_description.tag_id' => '$tagid',
    'polls.status' => '1'
);

$polls = $poll->find('all', $options);

Над кодомпоказывая внутреннюю ошибку сервера, как я могу удалить это, где я не прав?Заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Не эксперт в Cake, но в коде есть синтаксическая ошибка PHP, замените ' meta_description.tag_id =$tag_id, на 'meta_description.tag_id ='.$tag_id,, удалите одиночные кавычки из переменной и попробуйте прочитать файл error_log, там регистрируются все подобные ошибки

...