Laravel 4에서 다음 작업을 수행 할 수 있습니까? ...고급 위치 Laravel의 NNull 문
DB::table('myTable')
->select(DB::raw($columnNames))
->whereNotNull(function($query) use($columns) {
foreach ($columns as $column) {
$query->whereNotNull($column);
}
})
->get();
만약 내가 다음과 같은 테이블이 :
:$columns
문은,이 같은 결과를 기대 whereNotNull
[age, weight]
및
$columnNames
다음 위의 적용,
'age, weight'
입니다
table: myTable
id | name | age | weight
======================================
1 Jane NULL 150
2 NULL 12 80
3 Bob NULL NULL
4 John 22 120
5 Cody NULL NULL
경우
age | weight
===================
NULL 150
12 80
22 120
어떻게해야합니까?
UPDATE :
조건은 선택된 열이 모두 널 (null)이 아닌 모든 행을 반환하는 것입니다. 따라서 whereNotNull
절을 각 행의 각 (선택한) 열에 적용해야합니다. 모든 열이 NULL이면 whereNotNull은 false를 반환하고 해당 행은 결과의 일부가 아니어야합니다. 따라서 적어도 하나의 NULL이 아닌 값을 가진 행만 리턴되어야합니다.
그래서 조건은 :'$의 columns' 중 하나 이상이 될 수 없다'NULL' 그 대신 수단? – lukasgeiter
나는 내 질문에 조건을 명확히했다, 고마워! – chipit24