0
商品の関係をすべて削除する必要があります。関係を持つアイテムを削除しようとするとエラーが表示されます。ここに私のコードは次のとおりです。ここでLaravelのすべての関係を削除するためのベストプラクティスは何ですか?
public function getDelete(Product $product)
{
$name = $product->name;
$product->Field()->Data()->delete();
$product->Field()->delete();
$product->delete();
return redirect('products')->with('success', 'Product <b>'.$name.'</b> successfully deleted.');
}
はモデルです:Builder.phpライン2101で
public function Field()
{
return $this->hasMany("\App\ProductField", 'product_id','id');
}
public function Data()
{
return $this->hasMany("\App\ProductFieldData", 'product_field_id','id');
}
BadMethodCallException:未定義 方法を照らし\データベース\クエリー\ビルダーに呼び出し::データ()
このエラーは、製品にProductFieldDataがない場合に発生します。しかし、関係データがないとスキップしなければならないと思いますか?
どのように製品を削除するすべての関係ですか?
同じエラー;)外部キーを追加して削除カスケードを追加しましたが、Laravelによって最初に削除する必要があります – Haroldas
@Haroldasは編集を行いました。そのplzを試してください – Markinson
@Haroldasは動作しましたか?それができたら答えとして受け入れるとうれしいでしょう:) – Markinson