Как соединить две разные таблицы БД с помощью Cakephp? - PullRequest
0 голосов
/ 02 августа 2010

конвертировать следующий запрос в cakephpquery.

"SELECT * FROM user1.user_favourites,esl.esl_lyrics
WHERE
    esl_lyrics.id=user_favourites.fav_recordID
    AND user_favourites.fav_userID=".$user_id."
    AND user_favourites.fav_widgetID=$wid_id";

Файлы моделей: esl.php и userFavourite.php БД есть user1 и esl. Таблицы БД - это user_favourites в user1 и esl_lyrics в esl DB.

Пожалуйста, укажите детали. Какие изменения вносятся в esl.php и userFavourite.php

Пожалуйста, помогите мне ...

1 Ответ

0 голосов
/ 06 августа 2010

Будет сложно определить, что писать, пока вы не предоставите карту данных для различных идентификаторов, которые вы используете. Поскольку вы не соответствуете стандартам в вашем SQL, все поля в разных таблицах названы по-разному. Но вот что я понимаю до сих пор:

esl_lyrics.id = user_favorites.fav_recordID

Из вашего описания есть две модели. Так что вам нужно убедиться, что у вас есть отношения между ними. Это потребует, чтобы вы определили, принадлежит ли он To, hasOne, hasMany и т. Д. Также кажется, что вы используете несколько баз данных (схем), поэтому вам нужно будет настроить файл database.php, чтобы вы могли получить доступ к каждой из них.

После того, как все настроено, вы сможете получить доступ к данным как:

$this->Model1->Model2->find('all', array('conditions' => array('Model1.id' => 'Model2.id', 'Model2.user_id' => $user_id, 'Model2.widgetID' => $wid_id)));

Будет возвращен массив с данными обеих моделей. Но до тех пор, пока вы не сможете поделиться тем, как выглядят ваши модели, а также отображением идентификаторов и т. Д., Ответ будет таким же хорошим, как и вы.

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