Я использую 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();
Любая помощь будет принята с благодарностью.
Спасибо,