Laravel : Eloquent 및 MySQL을 사용하여 쉼표로 구분된 열 쿼리 find_in_set
Laravel : Eloquent 및 MySQL을 사용하여 쉼표로 구분된 열 쿼리 find_in_set
소개
Laravel 프로젝트의 mysql 열에 쉼표로 구분된 값을 저장하는 것은 드문 일이 아닙니다.
colours : "red,blue,green,yellow,black,white"
users : "77,4,5,688,5454,342,32,332"
tags : "mysql,laravel,css,html"
열 쿼리
MySQL 함수FIND_IN_SET()를 사용하여 쿼리할 수 있습니다.
$search;
ModelName::whereRaw("FIND_IN_SET($search,colours)");
ModelName::whereRaw("FIND_IN_SET($search,users)");
ModelName::whereRaw("FIND_IN_SET($search,tags)");
컬럼 쿼리 - SQL 인젝션 방지
$search;
ModelName::whereRaw("FIND_IN_SET(?,colours)",[$search]);
ModelName::whereRaw("FIND_IN_SET(?,users)",[$search]);
ModelName::whereRaw("FIND_IN_SET(?,tags)",[$search]);
모델의 범위로
class ModelName extends Model{
public function scopeContainsTag($query,$tag){
return $query->whereRaw("FIND_IN_SET(?,tags)",[$tag]);
}
}
컨트롤러에서 모델을 쿼리하는 동안 범위를 호출할 수 있습니다.
public function index(Request $request){
ModelName::containsTag($request->tag_name)->get();
}
메모
쉼표로 구분하여 열에 데이터를 저장하는 다른 방법이 있습니다.
Laravel 문서 읽기Array & JSON Casting
Reference
이 문제에 관하여(Laravel : Eloquent 및 MySQL을 사용하여 쉼표로 구분된 열 쿼리 find_in_set), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/timoye/laravel-query-comma-separated-column-using-eloquent-and-mysql-findinset-4198
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
colours : "red,blue,green,yellow,black,white"
users : "77,4,5,688,5454,342,32,332"
tags : "mysql,laravel,css,html"
$search;
ModelName::whereRaw("FIND_IN_SET($search,colours)");
ModelName::whereRaw("FIND_IN_SET($search,users)");
ModelName::whereRaw("FIND_IN_SET($search,tags)");
$search;
ModelName::whereRaw("FIND_IN_SET(?,colours)",[$search]);
ModelName::whereRaw("FIND_IN_SET(?,users)",[$search]);
ModelName::whereRaw("FIND_IN_SET(?,tags)",[$search]);
class ModelName extends Model{
public function scopeContainsTag($query,$tag){
return $query->whereRaw("FIND_IN_SET(?,tags)",[$tag]);
}
}
public function index(Request $request){
ModelName::containsTag($request->tag_name)->get();
}
Reference
이 문제에 관하여(Laravel : Eloquent 및 MySQL을 사용하여 쉼표로 구분된 열 쿼리 find_in_set), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/timoye/laravel-query-comma-separated-column-using-eloquent-and-mysql-findinset-4198텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)