Assume i have an array of data contacts,
$cont = array("123-123-123","[email protected]");
Which i stored in symfony2 doctrine field as json_array
type
$person->setContacts($cont); //Which automatically converts into json
Now my problem is, while searching the person by contact,
$cont['contacts'] = array("123-123-123","[email protected]");
or
$cont['contacts'] = json_encode(array("123-123-123","[email protected]"));
$person->findBy($cont);
Does not yield the correct result, is there any other method to retrieve the data by json_array
field,sorry if the question is too basic.
You should not use JSON to store in database if you want to perform a search on it.
What you are trying to do is basically to persist a value object (you should create a real Contact value object instead of using array).
Then you cam find here several solution to persist value object. http://rosstuck.com/persisting-value-objects-in-doctrine/
The first one (map it yourself) is the same as ZhukV and is applicable even if you keep an array.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With