Неизвестный столбец в левом поисковом запросе - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть этот код для нескольких таблиц соединения, и мне нужно искать / как в объединенной таблице:

$this->select('posts.*, languages.name as language_name, users.avatar as user_avatar');
$this->join('languages', 'languages.id = posts.lang_id', 'left');
$this->join('users', 'users.id = posts.author_id', 'left');
$this->like('language_name','English');
$this->orderBy($columnName , $columnSortOrder);
$this->limit($rowPerPage, $start);
$query = $this->get()->getResultObject();

но в выводе я вижу эту ошибку:

"Unknown column 'language_name' in 'where clause'"

как исправить эта ошибка?

1 Ответ

2 голосов
/ 15 апреля 2020

Попробуйте использовать «languages.name» вместо «language_name»

Вы должны попытаться использовать имя таблицы в качестве префикса, когда вы используете соединения. В нижеследующем примере я предполагаю, что заголовок взят из таблицы «post». Поэтому используйте «post.title» и то же самое для language_name, используйте «languages.name».

if($searchValue != ''){ 
   $searchQuery = " (post.title like '%".$searchValue."%' or languages.name like '%".$searchValue."%') "; 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...