Это пример; Для удобства я заполняю вкладку и перевод строки; Я ищу несколько лучших способов, кроме использования ‘.’ связать их.
$str_sql = "SELECT
sc.`id` AS 'payment_id',
sc.`order_id` AS 'order_id',
od.`partner_id` AS 'partner_id',
pt.`partner_name` AS 'partner_name',
od.`term` AS 'order_terms',
od.`has_pay` AS 'paid_terms',
sc.`sort_order` AS 'current_term',
FROM_UNIXTIME(sc.`repayment_time`) AS 'payment_time',
FROM_UNIXTIME(sc.`receive_time`) AS 'pay_time',
sc.`order_price` AS 'term_price',
od.`add_time` AS 'order_time',
sc.`status` AS 'status',
od.`order_price` AS 'order_price',
usr.`user_name` AS 'user_name',
usr.`id` AS 'user_id',
usr.`user_cell` AS 'user_cellphone',
IF(sc.`status` IN (0,3), 1 , 0 ) AS 'overdue',
FROM
mayidev.`lzh_order_payment_schedule` sc
JOIN lzh_order od
ON sc.`order_id` = od.`id`
JOIN lzh_partners pt
ON od.`partner_id` = pt.`id`
JOIN lzh_order_user usr
ON od.id = usr.order_id
JOIN lzh_partner_overdue_interest po
ON po.`partner_id` = pt.id
WHERE sc.`repayment_time` < 1477441800
AND sc.`receive_time` = 0
AND sc.`status` != 1
AND od.`status` = 4 ;";
Лучший способ сделать красивое длинное предложение SQL в PHP — это отделить код SQL от кода PHP. И лучший способ сделать это — создать view
с и stored procedure
в SQL, чтобы получить данные. Вам не нужно все это JOIN
логика в PHP. Лучше всего хранить на сервере SQL, чтобы сохранить код поддерживаемым.
А на стороне PHP вы можете просто SELECT * FROM view
или же CALL procedure()
,
Других решений пока нет …