findbysql ищет 2 таблицы - PullRequest
       0

findbysql ищет 2 таблицы

0 голосов
/ 26 августа 2011

Я использую этот код для поиска в 2 таблицах, где $ id является переменной

$ ID = $ _ REQUEST [ 'company_id'];

$ result = User :: model () -> findBysql ('выберите a.email от пользователя a, рекрутера b, где a.id = b.user_id и b.company_id = $ id');

я получаю ошибку, этот код не работает, какие-либо идеи, пожалуйста

Ответы [ 3 ]

1 голос
/ 26 августа 2011

Основная проблема с кодом, который вы здесь написали, заключается в том, что ваша строка sql заключена в одинарные кавычки. Но я не знаю, здесь ли это опечатка или это настоящая проблема. Не могли бы вы дать нам сообщение об ошибке?

1 голос
/ 29 августа 2011

Я получил помощь от живого чата yii, мне сказали, что id - это переменная, SQL-запрос должен быть в двойных кавычках, а id - в {}

$ result = User :: model () -> findBysql ("выберите a.email от пользователя a, рекрутера b, где a.id = b.user_id и b.company_id = {$ id} ");

Спасибо за ответы

1 голос
/ 26 августа 2011

1) Никогда не используйте $ _REQUEST. Вы можете либо использовать Yii :: app () -> request-> getParam ('company_id'), либо искать соответственно в $ _GET / $ _ POST

2)

$result = User::model()->find(array(
    'condition' => 'r.company_id=:company_id',
    'join' => 'INNER JOIN recruiter r ON t.id = r.user_id',
    'params' => array(
        ':company_id' => $id
    )
));

3) Возможно, вы хотите определить рекрутера как модельное отношение пользователя

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