J'utilise Laravel Eloquent pour interroger la base de données MySQL. J'ai une table base_node
et le tableau correspondant base_data
(relation OneToOne). base_data
. node_id
= base_node
. id
. La question est la suivante
$result = BaseNode::with(['data' => function ($query) use ($filter_text) {
$query->where('head', 'like', '%'. $filter_text. '%');
}])->get()->toJSon();
Résultat de la requête [{'id': 1, ..., 'data': {'id': 1, ...}}, {'id': 2, ..., 'data': null}]
.
Comme vous pouvez le voir, si base_data
. head
ne correspond pas à la condition du filtre, data
dans le résultat est nul. Comment puis-je construire une requête éloquente pour exclure complètement ces lignes du résultat ? Par exemple, le résultat souhaité est [{'id': 1, ..., 'data': {'id': 1, ...}}]
.
Merci d'avance !