codeigniter - внутренние ошибки соединения - PullRequest
0 голосов
/ 01 июля 2018

Я хочу показать, когда я пишу PayTypeId в поле зрения, там пишется любое имя типа платежа. payTypeId - это числовая строка 1,2,3, которая сравнивает имя в payTypeNameEn, например Package, Deposit и т. д. в таблице представлений. Как сделать равными 2 таблицы, такие как тип оплаты и оплата? Когда я напишу payTypeId, в таблице просмотра будет указано название типа платежа. Я что-то сделал, но это дает мне эту ошибку:

Номер ошибки: 42000/1064 У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB для правильного использования синтаксиса около '1)' в строке 3

ВЫБРАТЬ paymenttype. payTypeId, paymenttype. payTypeNameEn, paymenttype. payTypeNameAr, payment. paymentType ОТ paymenttype JOIN payment USING (1)

Имя файла: C: /xampp/htdocs/erp/system/database/DB_driver.php

Номер строки: 691

Вид:

<div class="form-group">
                                <div class="col-lg-12">
                                <h5 class=""><i class="fa fa-money"></i> Type of Payment:</h5>
                                <select class="js-example-basic-single" name="docFileDocType" required="required">
                                    <option value="" readonly>Select</option>
                                    <?php
                                    foreach($payments as $pay){ ?>
                                    <option value="<?php echo $pay->payTypeId; ?>"><?php echo $pay->payTypeId; ?></option>
                                    <?php  }?>
                                </select>
                            </div>
                            </div>

Контроллер:

$this->db->select('paymenttype.payTypeId,paymenttype.payTypeNameEn,paymenttype.payTypeNameAr,payment.paymentType,');
        $this->db->from('paymenttype');
        $this->db->join('payment' ,'payment.paymentType = paymenttype.payTypeId' AND 'payment.paymentType = paymenttype.payTypeNameEn' AND 'payment.paymentType = paymenttype.payTypeNameAr');
        $query = $this->db->get();
        if ($query->num_rows() > 0 )
        {
            $viewData['payments'] = $query->row();
        }

1 Ответ

0 голосов
/ 01 июля 2018

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

$this->db->select('paymenttype.payTypeId,paymenttype.payTypeNameEn,paymenttype.payTypeNameAr,payment.paymentType');
$this->db->from('paymenttype');
$this->db->join('payment' ,'payment.paymentType = paymenttype.payTypeId AND payment.paymentType = paymenttype.payTypeNameEn AND payment.paymentType = paymenttype.payTypeNameAr');
$query = $this->db->get();
  //echo $this->db->last_query();
if ($query->num_rows() > 0 )
{
   $viewData['payments'] = $query->result();
   print_r($viewData);
}
else
{
  echo 'No records found !';
}
...