반응형
라라벨 4 웅변가와 열을 연결하는 방법은 무엇입니까?
라는 테이블이 있습니다.tenantdetails
을 포함하는 것.
Tenant_Id | First_Name | Last_Name | ........
그리고 나는 다시 찾고 싶습니다.First_Name
그리고.Last Name
MySQL의 연결 함수를 통해 하나의 열로.그래서 나는 나의 글에 씁니다.controller
하기와 같이
$tenants = Tenant::orderBy('First_Name')->lists('CONCAT(`First_Name`," ",`Last_Name`)','Tenant_Id');
그러나 다음 오류가 발생합니다.
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`," ",`First_Name`)`, `Id` from `tenantdetails` order by `F' at line 1 (SQL: select `CONCAT(`First_Name`," ",`Last_Name`)`, `Id` from `tenantdetails` order by `First_Name` asc).
라라벨 웅변가의 MySQL 함수를 호출하는 동안 백트릭을 피할 수 있는 방법은 무엇입니까?저는 유창한 질의가 아닌 웅변에만 관심이 있습니다.잘 부탁드립니다.
갱신하다
저를 도와주신 @Andreeco씨께 감사드립니다.아래와 같이 Laravel 모델을 사용하여 보다 우아한 방식으로 이를 달성할 수 있습니다.
우리 안에서model
:
public function getTenantFullNameAttribute()
{
return $this->attributes['First_Name'] .' '. $this->attributes['Last_Name'];
}
그리고 우리 안에서controller
:
$tenants = Tenant::orderBy('First_Name')->get();
$tenants = $tenants->lists('TenantFullName', 'Tenant_Id');
Tenant::select('Tenant_Id', DB::raw('CONCAT(First_Name, " ", Last_Name) AS full_name'))
->orderBy('First_Name')
->lists('full_name', 'Tenant_Id');
쉬운 방법은 사용하는 것입니다.selectRaw
Tailor에 의해 구현되었습니다.Jan 30, 2014
Tenant::selectRaw('CONCAT(First_Name, " ", Last_Name) as TenantFullName, id')->orderBy('First_Name')->lists('TenantFullName', 'id'))
선택한 결과에서 열을 선택하는 데 사용되는 lists(목록) 메서드입니다.먼저 이름과 성에 연락하고 select 문에서 이 열에 새 별칭 이름을 지정합니다.
$tenants = Tenant::orderBy('First_Name')->select(DB::row('CONCAT(`First_Name`," ",`Last_Name`) as name'),'Tenant_Id')->lists('name', 'id');
그런 다음 목록에서 이 별칭을 선택할 수 있습니다.
DB::raw()를 사용하여 필드의 값을 일치시켜야 합니다.
Tenant::select(
'Tenant_Id',
DB::raw('CONCAT(First_Name,"-",Last_Name) as full_name')
)
->orderBy('First_Name')
->lists('full_name', 'Tenant_Id');
쿼리 작성기를 사용하여 다음과 같은 작업을 수행할 수도 있습니다.
DB::table('Tenant')
->selectRaw('CONCAT(First_Name, " - ", Last_Name) as fullName, id')
->get();
도움이 되길 바랍니다 :)
언급URL : https://stackoverflow.com/questions/22008487/how-to-concatenate-columns-with-laravel-4-eloquent
반응형
'programing' 카테고리의 다른 글
대응 라우터 및 스프링 부트 컨트롤러로 작업하는 방법 (0) | 2023.07.22 |
---|---|
외부 "C"는 함수 선언에만 필요합니까? (0) | 2023.07.22 |
Postgres 고유 제약 조건과 인덱스 비교 (0) | 2023.04.13 |
Windows에서 bat 파일을 사용하여 폴더와 모든 콘텐츠를 삭제하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
C# 평탄화 json 구조 (0) | 2023.04.03 |