записи о платежах и квитанциях отображаются в одной таблице с использованием codeigniter и mysql - PullRequest
0 голосов
/ 19 мая 2018

Модель:

$this->db->where('payment_details.created_on >= ',$start_date);
    $this->db->where('payment_details.created_on <= ',$end_date);
    $this->db->where('receipt_details.created_on >= ',$start_date);
    $this->db->where('receipt_details.created_on <= ',$end_date);        
    $this->db->select('payment_details.id,payment_details.payment_no,payment_details.site_id,payment_details.vendor_id,payment_details.work,payment_details.description,payment_details.date,payment_details.amount,payment_details.tax_type,payment_details.tax,payment_details.subtotal,payment_details.grand_total,payment_details.created_on,receipt_details.id,receipt_details.receipt_no,receipt_details.site_id,receipt_details.vendor_id,receipt_details.work,receipt_details.description,receipt_details.date,receipt_details.amount,receipt_details.tax_type,receipt_details.tax,receipt_details.subtotal,receipt_details.grand_total,receipt_details.created_on,vendor.id,vendor.vname,site.id,site.sname');

$this->db->from('payment_details');        
$this->db->join('vendor','vendor.id=payment_details.vendor_id OR vendor.id=receipt_details.vendor_id','LEFT');
$this->db->join('site','site.id=payment_details.site_id OR site.id=receipt_details.site_id','LEFT');
return $this->db->get()->result();

введите описание изображения здесь

Я попробую, но при выполнении этого запроса произошла ошибка Ошибка: Номер ошибки: 1064

У вас ошибка в синтаксисе SQL;проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MariaDB, рядом с 'LEFT JOIN vendor ON vendor. id = payment_details. vendor_id ИЛИ vendor .`i' в строке 2.

ВЫБРАТЬ payment_details. id, payment_details. payment_no, payment_details. site_id, payment_details. vendor_id, payment_details. work, payment_details. description, payment_details. date, payment_details. amount, payment_details. tax_type, payment_details. tax, payment_details. subtotal, payment_details. grand_total, payment_details. created_on, receipt_details. id, receipt_details. receipt_no, receipt_details. site_id, receipt_details. vendor_id, receipt_details. work, receipt_details. description, receipt_details. date, receipt_details. amount, receipt_details. tax_type, receipt_details. tax, receipt_details. subtotal, receipt_details. grand_total, receipt_details. created_on, vendor. id, vendor. vname, site. id, site. sname LEFT JOIN vendor ВКЛ vendor. id = payment_details. vendor_id ИЛИ vendor. id = receipt_details. vendor_id ВЛЕВО СОЕДИНИТЬ site ВКЛ site. id = payment_details. site_id ИЛИ site. id = receipt_details. site_id ГДЕ payment_details. created_on> = '2018-05-01' И payment_details. created_on <= '2018-05-31 'И <code>receipt_details. created_on> =' 2018-05-01 'И receipt_details. created_on <=' 2018-05-31 '</p>

Имя файла: D: / xampp/ HTDOCS / построить / системы / базы данных / DB_driver.php

Номер строки: 691 Заранее спасибо ......

1 Ответ

0 голосов
/ 19 мая 2018

Надеюсь, это поможет вам : (не проверено)

ваша структура запроса должна быть такой, внесите необходимые изменения, предоставив вам только подсказку

$sql = 'SELECT payment_details.id,payment_details.payment_no,payment_details.site_id,payment_details.vendor_id,payment_details.work,payment_details.description,payment_details.date,payment_details.amount,payment_details.tax_type,payment_details.tax,payment_details.subtotal,payment_details.grand_total,payment_details.created_on,receipt_details.id,receipt_details.receipt_no,receipt_details.site_id,receipt_details.vendor_id,receipt_details.work,receipt_details.description,receipt_details.date,receipt_details.amount,receipt_details.tax_type,receipt_details.tax,receipt_details.subtotal,receipt_details.grand_total,receipt_details.created_on,vendor.id,vendor.vname,site.id,site.sname 
        FROM payment_details  
        JOIN (vendor, receipt_details, site)
        ON (vendor.id=payment_details.vendor_id OR vendor.id=receipt_details.vendor_id
        AND site.id=payment_details.site_id OR site.id=receipt_details.site_id)';
$query = $this->db->query($sql);
return $query->result();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...