Je crée une vue en faisant une requête éloquente, puis je la passe à Blade.
@if($contacts != null)
//display contacts
@else
You dont have contacts
@endif
Cependant, il est toujours supposé que $ contacts a quelque chose même si la requête ne me donne rien.
J'ai fait dd($contacts)
et j'ai:
Collection {#247 ▼
#items: []
}
Comment puis-je vérifier s'il est vide?
S'il s'agit d'une collection Eloquent telle qu'elle semble provenir de votre exemple, vous pouvez utiliser la fonction d'assistance de collection isEmpty;
@if(!$contacts->isEmpty())
//display contacts
@else
You dont have contacts
@endif
Il y a plusieurs façons:
if (!empty($contacts))
if (!contacts->isEmpty())
if (count($contacts) > 0)
if ($contacts->count() > 0)
Votre requête Eloquent renvoie un tableau de résultats. Vous pouvez donc utiliser count
.
@if(count($contacts) > 0)
//Display contacts
@else
//No contacts
@endif
Votre $contacts
est vide. Bcoz Votre requête est incapable d'obtenir des données. Une fois que votre requête est incapable d'obtenir des données, elle renvoie un arrya vide. Alors vérifie le
@if($contacts->isEmpty())
{{ 'Empty' }}
@else
{{ 'you have data' }}
@endif
Vous pouvez utiliser blank($contacts)
Helpers Laravel: blank
si c'est à l'intérieur d'un contrôleur cela aidera
if(empty($query) {
//do something
}else{
//do some stuff
}
if(count($profiles) > 0){
return redirect()->action('NameController@name');
}else{
return view('user');
}
cela fonctionne aussi très bien dans un contrôleur