Я думаю, что для вас лучше всего иметь Model
, который расширяет Pivoted
класс для вас pivot1 . pivot1 должен иметь столбец id для использования в pivot2 . поэтому код должен быть таким,
Модель способа отгрузки:
public function ship_companies()
{
return $this->belongsToMany(ShipCompany::class, 'shipment_methods_ship_companies', 'shipment_method_id', 'ship_company_id')->using('App\pivot1')->withPivot('id','price_kc', 'price_ha');
}
обратите внимание, что я поставил идентификатор в withPrivot
и цепочку using()
метод
ваша модель pivot1 должна быть такой,
pivot1 Модель:
use Illuminate\Database\Eloquent\Relations\Pivot;
class pivot1 extends Pivot
{
public function Payment_methods()
{
return $this->belongsToMany(Payment_methods::class, 'pivot2_table_name', 'pivot1_id', 'payment_method_id');
}
}
и в конце вы можете сделать это, чтобы сохранить в pivot2
ShipmentMethods->ship_companies->pivot->payments_methods()->sync([payment_method_ids])
, поскольку все отношения сводки возвращают коллекцию примечаний к массиву, которые необходимы для зацикливания отношения ShipmentMethods->ship_companies
, чтобы получить отношение сводки.
Надеюсь, это поможет!