我想根据用户保存的搜索字词提醒用户。所以,我有警报表,其中存储了用户ID和术语。例如:
ID: 1 | uid: 27 | emailSentAt: null | search: Adidas
ID: 2 | uid: 27 | emailSentAt: null | search: Samsung
ID: 3 | uid: 34 | emailSentAt: null | search: Pro Evolution Soccer 2017
当用户搜索某些内容时,会从广告系列表中读取内容。为简单起见,我们假设它有id和search(VARCHAR)字段。
我想要的是每次添加与该字词相关的新广告系列时,提醒用户(根据其存储的搜索字词)。它不必是自动的。我可以手动完成,我尝试过这样的事情......
这是来自Mailable
class:
public function build()
{
echo "Sending email alert...\n";
$user = DB::table('alerts')->select('*')
->join('users', 'alerts.uid', '=', 'users.id')->whereNotNull('search')->get();
return $this->view('emails.newSearchAlert', compact('user'));
}
来自Command
class:
public function handle()
{
$when = Carbon::now();
$user = DB::table('alerts')->select('search', 'email')
->join('users', 'alerts.uid', '=', 'users.id')->whereNotNull('search')->get();
foreach ($user as $u) {
Mail::to($u->email)->later($when, new NewAlertsEmail);
}
echo "All email alerts are sent.";
}
当我运行命令php artisan email:users
时,它会向所有用户发送包含所有搜索字词的电子邮件。
我的问题是:我如何设法将查询结果显示在以下视图中:
<h1>New campaigns are available for your search terms: {{ $user->search }}: </h1>
<img src="http:/mydomain.com/wp-content/uploads/2015/10/{{ $campaign->search }}.png">
顺便说一下。我正在使用Laravel 5.3。