【问题标题】:How to set the where condition in Laravel using with function?如何使用 with 函数在 Laravel 中设置 where 条件?
【发布时间】:2022-10-23 05:07:03
【问题描述】:

如何使用函数在 Laravel 中设置 where 条件。我是 Laravel 的初学者。

public function rejectedkyc(Request $request)

{
    $sort_search = null;
    $users = User::with('account')->orderBy('created_at', 'desc');

    if (!empty($request->search))
    {
        $sort_search = $request->search;
        $users->where(function ($q) use ($sort_search)
        {
            $q->where('name', 'like', '%' . $sort_search . '%')->orWhere('email', 'like', '%' . $sort_search . '%')->orWhere('phone', 'like', '%' . $sort_search . '%')->orWhere('referral_code', 'like', '%' . $sort_search . '%')->orWhere('username', 'like', '%' . $sort_search . '%');
        });
    }
    $user_type = null;
    if (!empty($request->user_type))
    {
        $user_type = $request->user_type;
        $users->where(function ($q) use ($user_type)
        {
            $q->where('user_type', 'like', '%' . $user_type . '%');
        });
    }

    $users = $users->paginate(15);
    //dd($users);
    return view('backend.customer.customers.pending', compact('users', 'sort_search', 'user_type'));

}

【问题讨论】:

  • 我想在“帐户”表和“状态”列中设置 where 条件

标签: php laravel eloquent


【解决方案1】:

使用->when()

$sort_search = $request->has('search') ? $request->get('search') : null;
$user_type = $request->has('user_type') ? $request->get('user_type') : null;

$users = User::with('account')
    ->when(isset($sort_search), static function ($query) use ($sort_search) {
        $query->where('name', 'like', '%' . $sort_search . '%')->orWhere('email', 'like', '%' . $sort_search . '%')->orWhere('phone', 'like', '%' . $sort_search . '%')->orWhere('referral_code', 'like', '%' . $sort_search . '%')->orWhere('username', 'like', '%' . $sort_search . '%');
    })
    ->when(isset($user_type), static function ($query) use ($user_type) {
        $query->where('user_type', 'like', '%' . $user_type . '%');
    })
    ->orderBy('created_at', 'desc')
    ->paginate(15);

return view('backend.customer.customers.pending', compact('users', 'sort_search', 'user_type'));

【讨论】:

  • 这是什么 ??
  • @dev 你为什么要发布随机代码?
猜你喜欢
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2021-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多