Как преобразовать запрос MySQL в codeigniter с помощью построителя запросов? - PullRequest
0 голосов
/ 20 ноября 2018

Вот мой запрос mysql:

select * from db_posts LEFT JOIN db_followers  ON db_posts_user_id = db_followers_following AND db_followers_user_id = 276

Как я могу преобразовать его в codeigniter, используя построитель запросов?

$this->db->where('db_posts_user_id', 'db_followers_following');
$this->db->where('db_followers_user_id', 276);
$this->db->order_by('db_posts.db_posts_id', 'DESC');
$this->db->join('db_followers', 'db_followers.db_followers_following = db_posts.db_posts_user_id');
$query2 = $this->db->get('db_posts')->result_array();

Я получаю требуемый результат при использовании запроса mysql.Но я получаю пустой массив, когда использую запросы codeigniter.Что не так в моем CI Query?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

почему вы используете те, где пункт?если вы используете его в качестве условия для вашего процесса «ПРИСОЕДИНЯЙТЕСЬ», попробуйте это так:

$this->db->order_by('db_posts.db_posts_id', 'DESC');
$this->db->join('db_followers', 'db_followers.db_followers_following = db_posts.db_posts_user_id and db_followers_user_id = 276', 'left');
$query2 = $this->db->get('db_posts')->result_array();

Указывает на примечание

1), как сказано в предыдущих комментариях,Вы должны 'Left Join', если вы хотите получить все сообщения от 'db_posts'.

2) Вы можете добавить несколько условий в предложении ON, используя и внутри ''.все ваши условия должны быть указаны перед второй запятой (,), перед которой стоит упоминание «ВЛЕВО».

Надеюсь, это поможет.Дай мне знать, если это поможет

0 голосов
/ 20 ноября 2018

Попробуйте добавить опцию «Left», чтобы сказать, какой тип объединения нужно сделать:

$this->db->join('db_followers', 'db_followers.db_followers_following = db_posts.db_posts_user_id', 'Left');

Также я не уверен, что вам нужно

$this->db->where('db_posts_user_id', 'db_followers_following');
  • thisуже включено в ваше заявление JOIN.

Источник: http://www.bsourcecode.com/codeigniter/codeigniter-join-query/#left-join и https://www.codeigniter.com/userguide3/database/query_builder.html

...