php - How to implement a belongstTo with cakePhp 4 with conditions and different data types
one text
My design has two models ModelOne and ModelTwo. In ModelOne there is an integer field which passes as a foreign key to ModelTwo as a varchar.
The original implimentation from a previous version (cakephp 2) of cake is as follow:
$this->belongsTo('ModelOne')
->setProperty('ModelOne')
->setClassName('ModelOnes')
->setConditions(['ModelOne.field_one::TEXT = ModelTwo.field_one AND ModelOne.field_two = ModelTwo.field_two']);
As you can see the cast is needed because if it is not used a data type mismatch exception is thrown.
When I use it like that an Exception is thrown because it seems the function CAST is not properly used. The same happens when I pass to the setContition method a QueryExpression resulted from using the $query->func()->CAST(...)
function provided by ORM.
How can I solve this and specify correctly the belongsTo relation?
Thanks in advance!
I'm trying to configure properly a belongsTo relation in cakephp 4 with two different data types using datatype casting with the SQL function cast or other valid approach.
After edit
$this->belongsTo('List')->setProperty('List')->setClassName('Lists')->setConditions(['List.code::TEXT = WhiteList.code AND List.list = WhiteList.list']);
Source