where('id',-6ren">
gpt4 book ai didi

php - 尝试在 Laravel 中删除一行时出现错误 "Call to undefined method stdClass::delete()"

转载 作者:行者123 更新时间:2023-12-04 16:44:48 25 4
gpt4 key购买 nike

我从数据库和本地存储中删除图像的方法。

public function destroy($id) {
$image = DB::table('images')->where('id', '=', $id)->first();
//print_r($image);
//return 'end';
File::delete(public_path() . '/images/gallery/thumb-' . $image->path);
File::delete(public_path() . '/images/gallery/' . $image->path);
$image->delete();
return Redirect::back()
->with('form_success', 1)
->with('form_message', 'Image successfully deleted!');
}

如果我尝试返回 $image 的值我得到:
stdClass Object ( [id] => 49 [site_id] => 1 [page_id] => [location] => gallery [alt] => [path] => 60e52a2755ffe8923d5ac1232f5d9154.jpg ) 

那么我的代码有什么问题?现在我的 Laravel 版本是 4.2.1,但我尝试将他降级到 4.1.17,但没有任何变化。

最佳答案

问题是一旦你打电话first() ,执行查询并返回结果。您必须调用 delete()在您调用之前 first() .
DB::table('images')->where('id', $id)->delete();
由于您使用的是查询构建器,您将返回 stdClass对象(没有删除方法),而不是您在使用 Eloquent 时通常得到的模型。

关于php - 尝试在 Laravel 中删除一行时出现错误 "Call to undefined method stdClass::delete()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23994179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com