在我的代码中,我创建了一个修改器并生成列 chiave_composita。如果我运行这段代码我就获得了数据
TransazioniOrigine::all()->pluck('chiave_composita')->toArray()
但是如果我使用这个代码
$origine = TransazioniOrigine::all()->pluck('chiave_composita')->toArray();
$destinazione = Transazioni::all()->pluck('transazioneKey')->toArray();
$diff = array_diff($origine, $destinazione);
dd(TransazioniOrigine::whereIn('chiave_composita', $diff)->get());
我有这个错误:
Il nome di colonna 'chiave_composita' non è valido。 (SQL: select * from [vwTransazioni] where [chiave_composita] in (1515152021011110))
我该如何解决这个问题?
谢谢
您不能将
whereIn
与访问器一起使用。数据库不知道它们。
您可以做的是
filter
生成的集合。
TransazioniOrigine::get()->filter(fn($t) => in_array($t->chiave_composita, $diff));
感谢总督!!!根据您的建议,我已经解决了问题。