[laravel] laravel eloquent에서 특정 열을 선택하는 방법

테이블에 7 개의 열이 있고이 열 중 두 개만 선택하고 싶다고합시다.

SELECT `name`,`surname` FROM `table` WHERE `id` = '1';

laravel 웅변 모델에서 다음과 같이 보일 수 있습니다

Table::where('id', 1)->get();

그러나이 표현식은 id가 1 인 모든 열을 선택하고 두 개의 열 (name, surname) 만 원한다고 생각합니다. 두 개의 열만 선택하는 방법은 무엇입니까?



답변

다음과 같이 할 수 있습니다 :

Table::select('name','surname')->where('id', 1)->get();


답변

Table::where('id', 1)->get(['name','surname']);


답변

all () 메서드를 사용하면 아래와 같이 테이블에서 특정 열을 선택할 수 있습니다.

ModelName::all('column1', 'column2', 'column3');

참고 : 라 라벨 5.4


답변

다음 find()과 같이 사용할 수도 있습니다 .

ModelName::find($id, ['name', 'surname']);

$id변수는 모델의 여러 인스턴스를 검색해야하는 경우에 배열 할 수있다.


답변

또한 Model::all(['id'])->toArray()배열로만 ID를 가져옵니다.


답변

먼저 해당 테이블을 나타내는 모델을 만든 다음 아래의 Eloquent 방법을 사용하여 두 필드의 데이터를 가져옵니다.

Model::where('id', 1)
         ->pluck('name', 'surname')
         ->all();


답변

get ()과 all ()을 사용할 수 있습니다

ModelName::where('a', 1)->get(['column1','column2']);