JQuery Редактор данных - вызов значений, не работающих с левым соединением - PullRequest
0 голосов
/ 05 февраля 2020

Я использую JQuery Редактор данных для редактирования таблицы, а затем отправляю электронное письмо с данными из таблицы.

Приведенный ниже код работает без левого соединения.

include ('./PHPMailer-master/PHPMailerAutoload.php');
$db->sql( 'set names utf8' );
      Editor::inst( $db, 'ri', 'remoteinstallticket_id')
        ->fields(
          Field::inst( 'ri.remoteinstallticket_id' ),
          Field::inst( 'ri.remoteinstallticket_nextgenorderid' ),
          Field::inst( 'ri.remoteinstallticket_companyname' ),
          Field::inst( 'ri.remoteinstallticket_companyname_entity' ),
          Field::inst( 'ri.remoteinstallticket_datetimelastupdate' ),
          Field::inst( 'ri.remoteinstallticket_datetimedeliverydate' ),
          Field::inst( 'ri.remoteinstallticket_nettech' ),
          Field::inst( 'ri.remoteinstallticket_shipvia' ),
          Field::inst( 'ri.remoteinstallticket_status' ),
          Field::inst( 'ri.remoteinstallticket_netipaddress' ),
          Field::inst( 'ri.remoteinstallticket_netmachinestatus' ),
          Field::inst( 'ri.remoteinstallticket_customeripaddress' ),
          Field::inst( 'ri.remoteinstallticket_departmentlabel' ),
          Field::inst( 'ri.remoteinstallticket_tag' ),
          Field::inst( 'ri.remoteinstallticket_serialnumber' ),
          Field::inst( 'ng.id' ),
          Field::inst( 'ng.nextgenorder_ordernumber' ),
          Field::inst( 'ng.nextgenorder_company_entity' ),
          Field::inst( 'ng.nextgenorder_orderstatus' ),
          Field::inst( 'ng.nextgenorder_orderdate' ),
          Field::inst( 'ng.nextgenorder_shipvia' ),
          Field::inst( 'ng.nextgenorder_item' ),
          Field::inst( 'ng.nextgenorder_itemdescription' ),
          Field::inst( 'ng.nextgenorder_serial' ),
          Field::inst( 'ng.nextgenorder_companyname' ),
          Field::inst( 'ng.nextgenorder_deliverydate' ),
          Field::inst( 'ng.nextgenorder_netjobnumber' ),
          Field::inst( 'ng.nextgenorder_netmachinestatus' ),
          Field::inst( 'ng.nextgenorder_repname' ),
          Field::inst( 'ng.nextgenorder_enteredby' ),
          Field::inst( 'ng.nextgenorder_workflow' ),
          Field::inst( 'ng.nextgenorder_shiptoadd1' ),
          Field::inst( 'ng.nextgenorder_shiptoadd2' ),
          Field::inst( 'ng.nextgenorder_shiptoadd3' ),
          Field::inst( 'ng.nextgenorder_shiptocity' ),
          Field::inst( 'ng.nextgenorder_shiptostate' ),
          Field::inst( 'ng.nextgenorder_shiptozip' ),
          Field::inst( 'ng.nextgenorder_contactname' ),
          Field::inst( 'ng.nextgenorder_contactnumber' )



        )

  ->on('postEdit', function ( $e, $id, $values, $row) {

  $mail = new PHPMailer;
  $mail->IsSMTP();                                   
  $mail->Host = '10.10.10.38';               
  $mail->Port = 25;                                  
  $mail->SMTPAuth = false;                             
  $mail->AddAddress('me@me.com');
  $mail->IsHTML(true);    

  $email_online = '

    <td align="center">'.$row['remoteinstallticket_status'].'</td>
    <td align="center">'.$row['nextgenorder_serial'].'</td>
    ';



    $mail->From = 'me@me.com';
    $mail->FromName = 'me';
    $mail->Subject = "Sub: ";
    $mail->Body    = $email_online;



    if(!$mail->Send()) {
       echo 'Message could not be sent.';
       echo 'Mailer Error: ' . $mail->ErrorInfo;
       exit;
    }





    })


    ->leftJoin( 'ng', 'ng.nextgenorder_serial', '=', 'ri.remoteinstallticket_serialnumber' )




    ->process( $_POST )
    ->json();

Это вызывает следующие ошибки при редактировании

 Notice: Undefined index: remoteinstallticket_status in
 Notice: Undefined index: nextgenorder_serial in

Я пытался:

<td align="center">'.$row['ri.remoteinstallticket_status'].'</td>
<td align="center">'.$row['ng.nextgenorder_serial'].'</td>

Я получаю те же ошибки.

Если я не ' Не используйте левое соединение, оно работает нормально. Вот пример

   include ('./PHPMailer-master/PHPMailerAutoload.php');

          $db->sql( 'set names utf8' );
      Editor::inst( $db, 'ri', 'remoteinstallticket_id')
        ->fields(
          Field::inst( 'ri.remoteinstallticket_id' ),
          Field::inst( 'ri.remoteinstallticket_nextgenorderid' ),
          Field::inst( 'ri.remoteinstallticket_companyname' ),
          Field::inst( 'ri.remoteinstallticket_companyname_entity' ),
        )

  ->on('postEdit', function ( $e, $id, $values, $row) {

  $mail = new PHPMailer;
  $mail->IsSMTP();                                   
  $mail->Host = '10.10.10.38';               
  $mail->Port = 25;                                  
  $mail->SMTPAuth = false;                             
  $mail->AddAddress('me@me.com');
  $mail->IsHTML(true);    

    $email_online = '

    <td align="center">'.$row['remoteinstallticket_companyname'].'</td>
    ';



    $mail->From = 'me@me.com';
    $mail->FromName = 'me';
    $mail->Subject = "Sub: ";
    $mail->Body    = $email_online;



    if(!$mail->Send()) {
       echo 'Message could not be sent.';
       echo 'Mailer Error: ' . $mail->ErrorInfo;
       exit;
    }





    })




    ->process( $_POST )
    ->json();

Любая помощь будет принята с благодарностью.

Спасибо,

...