문제 정의.DBIx :: Class :: ResultSet에서이 검색 및 order_by를 수행하는 방법
여러 명의 사용자가있는 클라이언트가 여러 개 있습니다. 각 클라이언트는 맞춤 검색 데이터를 사용자, 검색 및 주문과 연결할 수 있어야합니다.
데이터베이스 솔루션 :
테이블 Customfields customfields 테이블을 정의합니다. ID와 이름이 있습니다. Userfields 테이블 (일명 "특성")과 has_many 관계가 있습니다.
Userfields 테이블에는 userid, customfieldid, content 및 id가 있습니다.
이것은 달성하고 무엇을 생산하는 select 문입니다 : 그것은
내가 원하는 선택 문을 제안한 Useraccounts 테이블 (일명 "useraccount")와 Customfields (일명 "customfield")를 belongs_to 나는 필요하다.
SELECT ua.*, (
SELECT content FROM Userfields uf
INNER JOIN Customfields cf
ON cf.id = uf.customfieldid
WHERE cf.name = 'Mothers birthdate'
AND uf.uid=ua.uid
) AS 'Mothers birthdate',
(
SELECT content FROM Userfields uf
INNER JOIN Customfields cf
ON cf.id = uf.customfieldid
WHERE cf.name = 'Join Date' AND
uf.uid=ua.uid
) AS 'Join Date'
FROM UserAccounts ua
ORDER BY 'Mothers birthdate';
이 경우 0에서 아무것도 ... X 서브를 선택합니다 select 문에서 문 그들 중 어느 하나 그들 중 누구도으로 주문하고자 할 수 없었다 자신이 될 수 있습니다.
질문
하는 방법은이를 달성 할 -> 내 dbix 수준의 결과 집합 또는 어떻게 내 dbix 수준의 결과 집합에 대한 검색과 같은 결과를 얻을 않습니다에 대한 검색?
여기서부터 내가 원하는 복잡한 명령문을 수행하는 방법을 잘 모르겠지만, 보통 내 Useraccounts 테이블에서 선택하는 방법입니다.
my @users = $db->resultset('Useraccounts')->search(
undef,
{
page => $page,
join => 'attributes',
...
});
감사합니다.
나는 이것에 대답하려고 너무 피곤하지만, 사람, 나는 당신에게 잘 쓰여진 그런 질문을 집어 넣을 소품을 줄 필요가있다! –
건배 JGB; 잘하면 그것은 좋은 대답을 격려합니다. :) –