나는 내 직원과 그룹 테이블간에 많은 관계를 가지고 있습니다. 피벗 테이블을 만들었고 모든 것이 올바르게 작동합니다. 그러나, 나는 그들이 표시 순서를 결정하는 데 사용하는 직원 테이블에 sortOrder 열이 있습니다. sortOrder 열의 값이 1 인 직원이 먼저 와야하며 2의 값이 초이어야합니다. (또는 내림차순으로 정렬 된 경우 뒤로) sortOrder 열은 null 값을 허용하는 정수 열입니다.Laravel에서 Eloquent를 사용하여 NULL 값을 마지막으로 정렬하는 방법
정렬 열을 기준으로 직원을 정렬하도록 그룹 모델을 설정했지만 문제가 발생했습니다. Null 값은 항상 먼저 표시됩니다. 내가 사용하는 일반적인 "오름차순"또는 "desc"대신 ISNULL 및 유사한 SQL 메서드를 사용하여 시도했지만 오류가 발생합니다.
여기 내 그룹 모델에서 코드입니다 :
class Group extends Eloquent {
public function employees()
{
return $this->belongsToMany("Employee")->orderBy('sortOrder', 'asc');
}
}
그리고 여기 내 모델에 액세스하기 위해 컨트롤러에서 사용하는 내용은 다음과 같습니다
$board = Group::find(6)->employees;
NULL 값이 마지막으로 정렬에 Laravel의 트릭은 무엇을?
감사! 이것은 완벽하게 작동합니다! Fluent chain 방법이 Eloquent에서 사용될 수 있다는 것을 몰랐습니다. – eagle0042
선택에 괄호의 중요성을 말씀해 주시겠습니까? 나는 그들과 이상한 문제를 겪고있다. 두 개의 개발 컴퓨터가 있고 그 중 하나는 대괄호에 문제가 없으며 다른 하나는 FatalErrorException을 발생시킵니다. 나는 그것들을 꺼냈다. 이제 두 컴퓨터 모두에서 작동하고 나의 쿼리 결과는 변경되지 않은 것 같다. – eagle0042
'select()'메소드에 전달 된 대괄호는 Array의 새로운 구문입니다. 이 기능은 새로운 기능이므로 PHP 5.4와 함께 제공됩니다. 컴퓨터 중 하나는 5.4를 실행하고 다른 하나는 실행하지 않습니다. http://php.net/manual/en/language.types.array.php 또는 http://php.net/manual/en/migration54.new-features.php – Andreyco