4
我在我的項目(user_role,grades,user_role_grades)中有多對多的關係。但我也有一個要求,不要從我的數據庫中刪除任何數據。所以,我在表中添加了一個狀態列,即連接2個表來創建多對多的關係。現在我想在在多對多關係中應用doctrine sql過濾器
$userRole->getGrades()
只得到那些記錄,在統一表(user_role_grades)沒有狀態「0」。對於那些,我試圖使用原則的SQL過濾器。
namespace Bis\MpBundle\Filter;
use \Doctrine\ORM\Mapping\ClassMetaData;
class UserRoleGradeFilter extends \Doctrine\ORM\Query\Filter\SQLFilter
{
public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
{
if("Bis\DefaultBundle\Entity\UserRoleGrade" == $targetEntity->name){
return $targetTableAlias . '.status != 0';
}
return '';
}
}
因此,它被稱爲,對二\ DefaultBundle \實體\ UserRole的,而不是雙\ DefaultBundle \實體\ UserRoleGrade實體。有沒有人有任何想法?
或者您可能有其他想法,我該怎麼做?
你找到一個解決的辦法?我正在嘗試做類似的事情,並沒有採取任何解決方案。 –