我有一个查询:
SELECT `doc_assign`.`id` as doc_assign_id,
`user_profiles`.`data` as report_fixed_template_discount,
`doc_assign`.`type` as document_type
FROM (`doc_assign`)
JOIN `jobs` ON `jobs`.`id` = `job_assign`.`job_id`
JOIN `docs` ON `docs`.`id` = `doc_assign`.`doc_id`
LEFT JOIN `user_profiles` ON `user_profiles`.`user_id` = `jobs`.`client_id`
WHERE `jobs`.`status` = 3
AND `jobs`.`completed_on` >= '2018-09-01 00:00:00'
AND `jobs`.`completed_on` <= '2018-09-30 23:59:59'
AND `user_profiles`.`meta` = 'report_fixed_template_discount'
问题在于,尽管user_profiles
表将始终具有数据,但我们不一定具有带有meta = 'report_fixed_template_discount'
的行-由于该查询将不会返回没有meta = 'report_fixed_template_discount'
的行。
所以,问题是我如何才能看到可能有meta = 'report_fixed_template_discount'
的结果。
答案 0 :(得分:3)
您可以将use Illuminate\Contracts\Support\Htmlable;
class CustomHtmlable implements Htmlable
{
public function toHtml()
{
return '<p>This is a value</p>';
}
}
// Create a new instance.
$instance = new CustomHtmlable;
// The value will still contain the HTML tags.
$returnValue = e($instance);
上的条件移到左联接:
meta