
あきぞらです。
LaravelでEloquentを使っていて、
「~でない」というクエリでデータを取得したい場面がありました。
今回は、その方法について紹介していきます。
Eloquentの引数に「<>」を指定する
「~でない」というクエリでデータを取得したいときは、
「<>」を引数に指定することで取得できます。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class CompanyUserController extends Controller
{
public function index()
{
// 「role」カラムが1でないユーザを取得する
$users = User::where('role', '<>', '1')->get();
}
}
ポイントは第2引数で、
where('role', '!=', '1')と書いてしまうのは間違いです。
これで「~でない」という条件も指定して取得することができます。