0

我有一个关于如何查询“checkboxWizard”BLOB 字段的问题。在 tl_member 中添加了一个这样的字段。这工作得很好。我可以为每个成员添加“0 到 N”选择。我们称这个字段为“myBlob”。

现在的问题是如何用Contao方式查询“myBlob”?假设我想要所有在邮政编码“12120”中并且选择了“myBlob”的 id “2”的成员。不仅是“2”,而且至少是这个。

   $arrColumn[] = "tl_member.postal=?";
   $arrValues[] = 12120;

   $arrColumn[] = "tl_member.myBlob=?"; <- how to say “contains in the blob” here?
   $arrValues[] = 2;

   self::findBy($arrColumn, $arrValues)
4

1 回答 1

2

执行此操作的唯一方法(当对此类关系使用默认的 Contao 方法时)是创建如下查询:

… WHERE myBlob LIKE '%"2"%'

所以在你的情况下,它可能是:

$arrColumn[] = "tl_member.myBlob LIKE ?";
$arrValues[] = '%"2"%';

但是,这当然很麻烦,并且可能并非在所有情况下都有效。

可能更好的方法是将codefog/contao-haste与它的“多对多”助手一起使用:https ://github.com/codefog/contao-haste/blob/master/docs/Model/index.md

这样,您将拥有一个包含参考的单独表格。

于 2017-02-20T09:14:48.163 回答