P粉9285913832023-08-01 00:26:47
Laravel의 Eloquent ORM의 orderBy 메소드는 대체 기능을 지원하지 않으므로 코드가 올바르지 않습니다. 대신 열 이름과 정렬 방향(오름차순 또는 내림차순)을 인수로 예상합니다. 귀하의 시나리오에서는 orderBy를 사용하여 직접 달성할 수 없는 약간 복잡한 계산 값을 기반으로 제품을 정렬하려고 합니다.
채택할 수 있는 한 가지 전략은 이 필드를 미리 계산하여 제품 테이블에 저장한 다음 이 필드를 기준으로 정렬하는 것입니다. 또는 제품을 먼저 검색한 다음 메모리에서 정렬할 수도 있습니다.
메모리에서 이를 수행하는 방법은 다음과 같습니다.
이 코드는 먼저 모든 제품과 관련 포장을 검색합니다. 그런 다음 컬렉션은 사용자가 제공한 계산에 따라 메모리에서 정렬됩니다.