J'ai un modèle de page. Il a les colonnes suivantes dans la table de base de données:
Je souhaite mettre à jour uniquement la valeur de la colonne "image".
Voici mon code:
public function delImage($path, $id) {
$page = Page::find($id);
$page->where('image', $path)->update(array('image' => 'asdasd'));
\File::delete($path);
}
cela me jette une erreur, que j'essaye d'utiliser where () sur un non-objet. Comment puis-je mettre à jour correctement la valeur de la colonne "image"?
Vous pouvez essayer ceci:
Page::where('id', $id)->update(array('image' => 'asdasd'));
Il existe également d'autres méthodes, mais il n'est pas nécessaire d'utiliser Page::find($id);
dans ce cas. Mais si vous utilisez find()
, essayez-le comme ceci:
$page = Page::find($id);
// Make sure you've got the Page model
if($page) {
$page->image = 'imagepath';
$page->save();
}
Aussi, vous pouvez utiliser:
$page = Page::findOrFail($id);
Donc, une exception sera lancée si le modèle avec cet identifiant n'a pas été trouvé.
Version 1:
// Update data of question values with $data from formulay
$Q1 = Question::find($id);
$Q1->fill($data);
$Q1->Push();
Version 2:
$Q1 = Question::find($id);
$Q1->field = 'YOUR TEXT OR VALUE';
$Q1->save();
En cas de question répondue vous pouvez les utiliser:
$page = Page::find($id);
$page2update = $page->where('image', $path);
$page2update->image = 'IMGVALUE';
$page2update->save();