Files
kulakpos_web/Modules/MarketingAddon/App/Http/Controllers/AcnooMessageLogController.php

49 lines
1.9 KiB
PHP
Raw Normal View History

2026-05-14 11:55:22 +07:00
<?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'));
}
}