0
votes

Collection dans laquelle la méthode

J'essaie d'essayer une collection, mais le code de la dernière ligne ne fonctionne pas. Dans cette ligne, la propriété $-> comté_id est un integer , le param.county_id est un tableau . J'aimerais savoir que le tableau contient le entier .

Je pense que le code est faux, car la clé (peut-être) doit être le param.county_id . Comment je peux faire cela?

Merci les réponses. xxx


0 commentaires

3 Réponses :


0
votes

Essayez ce code à la place:

->whereIn('county_id', 'params.county_id');


1 commentaires

$ Buyersarchs: Illuminate \ Support \ Collection {# 1765 #Items: Array: 2 [0 => Array: 2 ["ID" => 1 "Params" => Array: 26 [...]] 1 => Array: 2 ["ID" => 2 "parames" => Array: 26 [...]]]}



0
votes

Assurez-vous que le deuxième argument dans le cas où est une matrice ou crée ce tableau avant la requête de $ de résultat et l'utiliser ensuite.


0 commentaires

1
votes

J'ai résolu, ça marche :)

$result = $buyerSearches
    ->where('params.type', '=', $property->type)
    ->where('params.sale_type', '=', $property->sale_type)
    ->whereIn('params.contract_type', ['all', $property->contract_type])
    ->where('params.min_price', '<=', $property->price)
    ->where('params.max_price', '>=', $property->price)
    ->filter(function($buyerSearch) use ($property) {
        return in_array($property->county_id, $buyerSearch['params']['county_id']);
    });


0 commentaires