Laravel 8 Eloquent 또는 WhereHas 조건
3721 단어 orwherehaslaravelphplaravel8
laravel 8의 orWhereHas() 조건에 대해 사용자, 국가 및 주와 같은 세 개의 테이블을 사용하고 사용자 테이블에 country_id 및 state_id 관계를 추가합니다. 또한 laravel 8에서 orWhereHas() 조건과 함께 whereHas()를 사용합니다.
따라서 laravel 8 orWhereHas() 관계 또는 laravel 8의 orwherehas 조건을 봅시다.
Example 1: Laravel orWhereHas()
라라벨의 설득력 있는 whereHas() 메소드는 기본적으로 has()와 동일하게 작동하지만 관련 모델이 확인할 추가 필터를 지정할 수 있습니다.
public function index()
{
$name = 'California';
$users = User::with('country','state')
->whereHas('country', function ($query) use($name){
$query->where('name', 'like', '%'.$name.'%');
})
->orWhereHas('state', function ($query) use($name){
$query->where('name', 'like', '%'.$name.'%');
})
->get()
->toArray();
}
Read More: How To Push Array Element In Node.js
예: 2
앱/모델/User.php
<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $fillable = [
'name',
'email',
'password',
];
public function country()
{
return $this->belongsTo(Country::class);
}
public function state()
{
return $this->belongsTo(State::class);
}
}
앱/모델/Country.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Country extends Model
{
use HasFactory;
}
앱/모델/State.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class State extends Model
{
use HasFactory;
}
Read More: Laravel 8 Eloquent whereHas Condition
앱/Http/컨트롤러/UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
class UserController extends Controller
{
public function index()
{
$name = 'California';
$users = User::with('country','state')
->whereHas('country', function ($query) use($name){
$query->where('name', 'like', '%'.$name.'%');
})
->orWhereHas('state', function ($query) use($name){
$query->where('name', 'like', '%'.$name.'%');
})
->get()
->toArray();
}
}
Reference
이 문제에 관하여(Laravel 8 Eloquent 또는 WhereHas 조건), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/techsolutionstuff/laravel-8-eloquent-orwherehas-condition-3nb7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)