🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:BelongsToManyRelationship.php
<?php namespace Illuminate\Database\Eloquent\Factories; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Collection; class BelongsToManyRelationship { /** * The related factory instance. * * @var \Illuminate\Database\Eloquent\Factories\Factory|\Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|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 \Illuminate\Database\Eloquent\Factories\Factory|\Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|array $factory * @param callable|array $pivot * @param string $relationship */ public function __construct($factory, $pivot, $relationship) { $this->factory = $factory; $this->pivot = $pivot; $this->relationship = $relationship; } /** * Create the attached relationship for the given model. * * @param \Illuminate\Database\Eloquent\Model $model * @return void */ public function createFor(Model $model) { $factoryInstance = $this->factory instanceof Factory; if ($factoryInstance) { $relationship = $model->{$this->relationship}(); } Collection::wrap($factoryInstance ? $this->factory->prependState($relationship->getQuery()->pendingAttributes)->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 \Illuminate\Support\Collection $recycle * @return $this */ public function recycle($recycle) { if ($this->factory instanceof Factory) { $this->factory = $this->factory->recycle($recycle); } return $this; } }
Save Changes
Cancel
Create New File
Create New Folder