Laravel - 从数据库中删除数据记录

Laravel - Delete data record from Database

我想从数据库中删除记录照片和 Photo_list,但出现错误

这是我在控制器中的代码

public function deletephoto($id)
{

    $product = $this->productRepository->findWithoutFail($id);
    Product::select('photo','photo_list')->delete($product->id);

    return redirect(route('stores.index'));

}
public function deletephoto($id)
{

    $product = $this->productRepository->findWithoutFail($id);
    Product::Where('id','=',$product->id)->delete();

    return redirect(route('stores.index'));

}

或者您可以直接这样做

Product::find($id)->delete();

试试这个

Product::WhereProductId($product->id)->delete();

我认为您不能使用 delete 删除特定数据。 删除用于删除一行。

您需要使用这样的请求来更新您的 table:

public function deletephoto($id)
{

    $product = $this->productRepository->findWithoutFail($id);
    Product::where('id', 100)->update(['photo' => NULL, 'photo_list' => NULL]);

    return redirect(route('stores.index'));

}

你可以在这里看到更多:
https://laravel.com/docs/5.3/eloquent#updates
https://laravel.com/docs/5.3/eloquent#deleting-models

你可以试试这个:

public function deletephoto($id)
    {

        $product = $this->productRepository->findWithoutFail($id);
        if($product){
          $product->photo= null;
          $product->photo_list= null;
          $product->save();
        }

        return redirect(route('stores.index'));

    }