Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factories/BelongsToManyRelationship.php
Строк: 69
<?php

namespace IlluminateDatabaseEloquentFactories;

use 
IlluminateDatabaseEloquentModel;
use 
IlluminateSupportCollection;

class 
BelongsToManyRelationship
{
    
/**
     * The related factory instance.
     *
     * @var IlluminateDatabaseEloquentFactoriesFactory|IlluminateSupportCollection|IlluminateDatabaseEloquentModel|array
     */
    
protected $factory;

    
/**
     * The pivot attributes / attribute resolver.
     *
     * @var callable|array
     */
    
protected $pivot;

    
/**
     * The relationship name.
     *
     * @var string
     */
    
protected $relationship;

    
/**
     * Create a new attached relationship definition.
     *
     * @param  IlluminateDatabaseEloquentFactoriesFactory|IlluminateSupportCollection|IlluminateDatabaseEloquentModel|array  $factory
     * @param  callable|array  $pivot
     * @param  string  $relationship
     * @return void
     */
    
public function __construct($factory$pivot$relationship)
    {
        
$this->factory $factory;
        
$this->pivot $pivot;
        
$this->relationship $relationship;
    }

    
/**
     * Create the attached relationship for the given model.
     *
     * @param  IlluminateDatabaseEloquentModel  $model
     * @return void
     */
    
public function createFor(Model $model)
    {
        
Collection::wrap($this->factory instanceof Factory $this->factory->create([], $model) : $this->factory)->each(function ($attachable) use ($model) {
            
$model->{$this->relationship}()->attach(
                
$attachable,
                
is_callable($this->pivot) ? call_user_func($this->pivot$model) : $this->pivot
            
);
        });
    }

    
/**
     * Specify the model instances to always use when creating relationships.
     *
     * @param  IlluminateSupportCollection  $recycle
     * @return $this
     */
    
public function recycle($recycle)
    {
        if (
$this->factory instanceof Factory) {
            
$this->factory $this->factory->recycle($recycle);
        }

        return 
$this;
    }
}
Онлайн: 1
Реклама