У меня есть transactions table
, в котором я могу хранить полиморфное отношение payment
или plan
. Чего я не могу понять, когда я обновляю существующую транзакцию и удаляю payment_id
или plan_id
в форме, как очистить это отношение из базы данных.
При вставке (или обновлении) это работает нормально:
$payment->transactions()->save($transaction);
Я пробовал много вещей, и метод detach
не работает, так как это не отношение многие ко многим.
Мои модели:
Сделка:
public function paymentable()
{
return $this->morphTo();
}
Оплата (и план):
public function transactions()
{
return $this->morphMany(Transaction::class, 'paymentable');
}
Любые идеи?
В основном мой вопрос заключается в следующем: как я могу очистить paymentable_id
и paymentable_type
, когда я выполняю обновление существующей транзакции, когда не было отправлено payment
или plan
? Так что в основном, когда payment
или plan
были удалены из формы. Я предпочитаю не использовать некоторые RAW-запросы.
$payment->transactions()->delete();
вам не подходит? - person Ohgodwhy   schedule 04.02.2017detaching
илиdisociating
полиморфном отношении. - person Hardist   schedule 05.02.2017