Laravel Принадлежит к Множеству wherePivot, Периферийное Поле Нуль - PullRequest
0 голосов
/ 30 апреля 2020

Настройка:

  • PHP 7.4.5
  • Laravel 7.7.1
  • SQL Сервер

В проекте, в котором я сейчас участвую, используется отношение M: M для сопоставления отношений между заказами по различным типам отношений.

Я установил несколько отношений по следующему шаблону для различных типов отношений:


class Order extends Model
{
    /**
     * Set up a relationship on the OrderRelationship table.
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    protected function parents()
    {
        $relationship = new OrderRelationship();

        return $this->belongsToMany(
            static::class,
            $relationship->getTable(), // 'OrderRelationships'
            'OrderId',
            'RelatedOrderId'
        )->wherePivot('RelationshipTypeId', RelationshipType::TYPE_PARENT);
    }
}

Однако при использовании $order->parents()->attach($parentOrder); поле RelationshipTypeId установлено на NULL.

Есть ли способ заставить его соблюдать конфигурацию wherePivot?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...