0
내 함수에서 조건을 바인딩하고 싶습니다. 나에게 마케팅 담당자 이름을주는 MarketersGet 함수가있다. 여기 내 코드입니다 :Doctrine - 조건부 및 문의시
public function MarketersGet(string $marketerId = ''):array
{
$marketerId = (int)$marketerId;
$userRoles = config('constantTypes.blah');
$marketerRole = $userRoles['MARKETER'];
$userRepository = App::make(DoctrineUserRepo::class);
$result = $userRepository
->selectFrom(' model ')
->where(' model.rolesRole = '.$marketerRole)
->getQuery()
->getResult();
$marketers = [];
foreach ($result as $user) {
$marketers[] = [
'name' => $user->getUserName(),
'id' => $user->getId()
];
}
return $marketers;
}
는 내가이 같은 노력
->andWhere(' model.id = '.$marketerId)
을 부가가치가있는 경우 나, $ marketerId을 조건으로 할 : 결과 위
$result = $userRepository
->selectFrom(' model ')
->where(' model.rolesRole = '.$marketerRole);
if ($marketerId != '')
$result->andWhere(' model.id = '.$marketerId);
$result->getQuery()
->getResult();
인을 :
[]
No Properties
나는이 같은 기본 쿼리에서 andWhere를 넣으면
사실 :
$result = $userRepository
->selectFrom(' model ')
->where(' model.rolesRole = '.$marketerRole)
->andWhere(' model.id = '.$marketerId)
->getQuery()
->getResult();
실제 결과는 다음과 같다 :
는 확실히 내 조건 쿼리가 거짓{name: "blah blah", id: 28}
, 어떤 제안 그것을 해결하기 위해?