Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

pippuccio76's avatar

Join query error

Hi sorry for english , i try to change a developer code on a site write in lumen , im new of laravel .

This is the code :

if (!isset($_SESSION['perpage'])) {
    $_SESSION['perpage'] = 500;
}

if ($request->has('limit')) {
    $_SESSION['perpage'] = $request->get('limit');
}

if($_SESSION['user_permissions']==1){
	
  $query = $newsletters = Newsletter::orderBy('id', 'DESC')
    ->with(['app', 'category'])
    ->whereHas('app', function ($query) {
        $query->where('user_id', '=', $_SESSION['user_id']);
    });
}


if($_SESSION['user_permissions']==7){
 
 
 $query = $newsletters = Newsletter::orderBy('id', 'DESC')
    ->with(['app', 'category','user'])
    ->whereHas('app', function ($query) {
        $query->where('user_id', '=', $_SESSION['user_id']);
    });

     /*  MY CODE
     *
    $query = $newsletters = Newsletter::orderBy('id', 'DESC')
                            ->join ('apps' ,'apps.id' ,'=' ,'newsletters.app_id' )
                            ->join ('categorys' ,'categorys.id' ,'=' ,'newsletters.category_id' )
                            ->join ('users' ,'apps.id_user' ,'=' ,'users.id' )
                            ->where ('users.permissions' ,'=', 7)
                            ;    */


}      


 

if ($request->has('query') && !empty($request->get('query'))) {
    $query = $query->where('subject', 'LIKE', '%'.$request->get('query').'%');
}

$perpage = $_SESSION['perpage'];
$totalcount = 1000;//query->count();
$totalpages = ceil($totalcount / $perpage);
$page = $request->has('page') ? $request->get('page') : 1;

if ($page > $totalpages) {
    $page = 1;
}

$query = $query->offset($perpage * ($page - 1))->take($perpage);

$newsletters = $query->get(['id', 'shared_id', 'category_id', 'strid', 'strid_nhf', 'trkid', 'trkid_nhf', 'subject', 'payout', 'status', 'created_at', 'expires_at', 'app_id', 'start_at', 'end_at', 'type', 'budget', 'budget_given', 'closelink', 'closepixel', 'cpc_amount', 'cpc_amountc', 'cpl_amount', 'cpl_amountc', 'cpa_amount', 'cpa_amountc', 'att_amount', 'att_amountc', 'trktype', 'track_name', 'tracking', 'tracking_append', 'trackready']);

    
//echo $sql = $query->toSql();



return view('admin_newsletters_index', [
    'newsletters' => $newsletters,
    'apps' => App::orderBy('name', 'ASC')->get(),
    'request' => $request,
    'totalpages' => $totalpages,
    'page' => $page,
    'perpage' => $perpage,
]);

I try to edit the query with a join to get only where the user have a permission set to 7 but dont work (the query is where i write MY CODE) .

0 likes
2 replies
trungtranqn91's avatar

what is the result or error did you get? Could you show the database or some table structure, exp: users, ..

Please or to participate in this conversation.