Он пытается разделить на FooId
, поэтому каждый раз, когда он видит FooId
, он обрезает данные.Этот сценарий использования по существу предназначен для (не редкого) сценария, когда все таблицы имеют предсказуемый ключ, такой как Id
.В вашем случае это не то, что вы хотите, как вы получаете из базы данных:
FooId, a, b, c | BarId, FooId, x, y, z
^^ from Foo ^^ | ^^ from Bar ^^
Однако, это делится на FooId
как:
FooId, a, b, c, BarId | FooId, x, y, z
, поэтому BarId
не включается во второй объект, а также почему его добавление в конец делает его работу.
Существует еще одно использование, IIRC, которое принимает секвенированные ключи для разделенияна;вы бы использовали:
splitOn: "FooId,BarId"