Ich habe eine Tabelle (Benutzer), die Daten in einer anderen Tabelle (Reihenfolge) hat und die Verbindung zwischen ihnen ist eins zu viele.Wie verwandte Datensatz in Yii 2 löschen?
Bei this example sehe ich, wie Sie eine verwandte Daten (Reihenfolge) erstellen. Aber wie kann ich diese Daten (Bestellung) löschen, wenn ich über den Benutzer gehe?
$customer = Customer::findOne(123);
$order = new Order();
$order->subtotal = 100;
// setting the attribute that defines the "customer" relation in Order
$order->customer_id = $customer->id;
$order->save();
$order->id; //e.g. 1
Und mein Ansatz zu löschen wäre:
$order = $customer->getOrders()
->where(['=', 'id', 1])
->all();
$order->delete();
dies der richtige Weg ist?
Hinweis: Ich verwende Einschränkungen.
Sie diese Einschränkungen in der Datenbank umgehen konnte – soju
Ja, es in meiner Datenbank Zwänge behandelt wird. Ich frage nur, ob dieser Ansatz der richtige ist. – Jurik
Es ist definitiv nicht falsch, aber ist einfach unnötig, da Sie Ihre Beschränkung bereits eingerichtet haben. Wenn Sie eine andere Verarbeitung durchführen möchten (z. B. das Protokoll, dass die Aufträge des jeweiligen Benutzers gelöscht wurden), können Sie dies in der von @shivani erwähnten Methode verarbeiten. – KST