반응형
나를 라 라벨 초보자로 생각
목표는 두 개의 열이 있습니다. 이제 id
앞에 테이블에서 동일한 행의 구성 요소 이름
을 붙여야합니다.
예를 들어 (일하는 중) ... 나는 Mysql을 좋아합니다.
SELECT CONCAT(components.name," ", components.id) AS ID
FROM `components`
그리고 출력은
신분증
|TestComp 40 |
-------------
|component 41 |
-------------
|test 42 |
여기 Component는 Model 이름이기 때문에 laravel 웅변적인 방식으로 동일하게 필요합니다. 그래서 나는
$comp=Component::select("CONCAT('name','id') AS ID")->get()
근데 안 돼요.
I think because the syntax is wrong.
올바른 구문으로 친절하게 도와주세요. laravel
모델
사용.
참고 : 위의 쿼리를 작성하여 인터넷에서 사용할 수 있다고 언급했습니다.
User::select(DB::raw('CONCAT(last_name, first_name) AS full_name'))
해결 방법
쿼리를 DB :: raw
로 래핑해야합니다.
$comp = Component::select(DB::raw("CONCAT('name','id') AS ID"))->get()
또한 이와 같이 쿼리를 수행하고 있으므로이 선택은 select 문에서 다른 모든 필드를 제거하므로 모델이 다르게 작동 할 수 있습니다. 따라서 새 쿼리 없이는 모델에서 다른 필드를 읽을 수 없습니다. 따라서 데이터 수정이 아닌 데이터 읽기에만 이것을 사용하십시오.
또한 좋은 목록으로 만들려면 쿼리를 다음과 같이 수정하는 것이 좋습니다.
$comp = Component::select(DB::raw("CONCAT('name','id') AS display_name"),'id')->get()->pluck('display_name','id');
// dump output to see how it looks.
dd($comp);// array key should be the arrray index, the value the concatted value.
참조 페이지 https://stackoverflow.com/questions/42735071
반응형
'MySql' 카테고리의 다른 글
MySQL PHP에서 MySQL 외래 키 제약 조건 무시 (0) | 2020.10.27 |
---|---|
MySQL Ruby on Rails ActiveRecord의 순서 및 정렬 기준 차이 (0) | 2020.10.27 |
MySQL 데이터베이스가 존재하는지 (MySQL) 확인하고 PHP에서 생성하지 않은 경우 (0) | 2020.10.26 |
MySQL WHERE 절 MYSQL의 ISNULL (값, 0) (0) | 2020.10.26 |
MySQL에 UUID v4 저장 (0) | 2020.10.26 |
댓글