Je recherche un code dans la base de données, si je le trouve alors je recherche des résultats qui sont connectés à ce code, après tous les statuts de modification de la messagerie instantanée des deux enregistrements et les sauvegent.
Le problème est assez basique, Je ne sais pas comment je devrais valider ces variables pour s'assurer qu'ils ne cassent rien quand ils sont vides. J'étais sûr que cette déclaration si la déclaration fera le travail, mais semble que ce ne sera pas. P>
3 Réponses :
Utilisez vide code> :
$code = self::where('h_id', '=', $id)->first();
if(empty($code)) die(); // handle error however you like
$outcome = Outcome::where('code_id', '', $code->id)->first();
if(empty($outcome)) die(); // handle error however you like
$code->status = 1;
$outcome->status = 1;
$code->save();
$outcome->save();
Je suggère d'utiliser is_null () code> au lieu de vide () code>
Pourquoi @fitzi? Selon PHP Docs, Vide reviendra vrai si la variable est égale à une chaîne vide, une matrice, 0 entier, 0,0 flotteur, false et null. Ce qui rend ce code parfaitement bien.
Parce que c'est plus explicite. En outre, il n'est pas nécessaire de vérifier quelque chose d'autre que null code> car premier () code> renvoie un objet ou null code> de toute façon.
J'ai utilisé à l'origine isset code> mais l'a changé comme OP indiqué, ils voulaient "ne rien briser quand ils sont vides".
La manière explicite serait de vérifier si la demande de base de données éloquente renvoie Vous aussi. Il faut spécifier le deuxième paramètre si vous vérifiez après votre résultat, vous Peut simplement vérifier p> si la variable n'est pas égale null, le modèle donné avec ce paramètre spécifique a été trouvé. p> espère que cela aide. p> p> null code> comme le retour de Laravel null code> si les paramètres donnés n'ont pas pu être trouvés. x = y code> que vous pouvez faire comme tellement. p>
C'est correct, on dirait que cela retourne null. Merci
Je pense que vos modèles sont dans une relation individuelle. Si tel est le cas, vous pouvez essayer le code ci-dessous
$data = self::with(['outcome'])->whereHas('outcome')->where('h_id', '=', $id)->first();
if($data){
$data->status = 1;
data->outcome->status = 1;
$data->save();
data->outcome->save();}
Cela ressemble également à un cas qui aurait pu être géré un peu mieux avec relations :)