49 lines
1.9 KiB
PHP
49 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace Modules\MarketingAddon\App\Http\Controllers;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
use Modules\MarketingAddon\App\Models\MessageReport;
|
|
|
|
class AcnooMessageLogController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$message_logs = MessageReport::with('user:id,email')
|
|
->where('business_id', auth()->user()->business_id)
|
|
->when($request->search, function ($q) use ($request) {
|
|
$q->where(function ($q) use ($request) {
|
|
$q->where('title', 'like', '%' . $request->search . '%')
|
|
->orWhere('channel', 'like', '%' . $request->search . '%')
|
|
->orWhere('phone', 'like', '%' . $request->search . '%')
|
|
->orWhere('status', 'like', '%' . $request->search . '%')
|
|
->orWhereHas('user', function ($q) use ($request) {
|
|
$q->where('email', 'like', '%' . $request->search . '%');
|
|
});
|
|
});
|
|
})
|
|
->when($request->type, function ($q) use ($request) {
|
|
$q->where(function ($q) use ($request) {
|
|
$q->where('channel', $request->type);
|
|
});
|
|
})
|
|
->when($request->status, function ($q) use ($request) {
|
|
$q->where(function ($q) use ($request) {
|
|
$q->where('status', $request->status);
|
|
});
|
|
})
|
|
->latest()
|
|
->paginate($request->per_page ?? 20)
|
|
->appends($request->query());
|
|
|
|
if ($request->ajax()) {
|
|
return response()->json([
|
|
'data' => view('marketingaddon::message-logs.datas', compact('message_logs'))->render(),
|
|
]);
|
|
}
|
|
|
|
return view('marketingaddon::message-logs.index', compact('message_logs'));
|
|
}
|
|
}
|