33 lines
1,003 B
PHP
33 lines
1,003 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Campagne;
|
|
use App\Http\Requests\Customers\SearchCustomers;
|
|
use App\Models\Customers;
|
|
use App\Site;
|
|
|
|
class CustomersController extends Controller
|
|
{
|
|
public function index(SearchCustomers $request, Site $site)
|
|
{
|
|
$campaigns = [];
|
|
$customer = null;
|
|
$email = $request->email;
|
|
|
|
$site->load("campagnes");
|
|
|
|
if ($email) {
|
|
$customer = Customers::where('email', $email)->first();
|
|
if ($customer) {
|
|
$publishedCampaign = $site->campagnes->where('camp_published', 1)->pluck('camp_id');
|
|
|
|
$campaigns = Campagne::where('camp_published', 1)->whereHas('printedWalls', function ($q) use ($customer, $publishedCampaign) {
|
|
$q->where('customer_id', $customer->id)->whereIn('camp_id', $publishedCampaign);
|
|
})->get();
|
|
}
|
|
}
|
|
|
|
return view('customers.index', compact('site', 'customer', 'campaigns', 'email'));
|
|
}
|
|
}
|