YoutubeIDCast
1
Cast который конвертирует введенные данные в youtube ID, допускается как ввод ссылки так и ID
app/Casts/YoutubeIDCast.php
<?php namespace App\Casts; use Illuminate\Contracts\Database\Eloquent\CastsAttributes; class YoutubeIDCast implements CastsAttributes{ /** * Cast the given value. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function get($model, $key, $value, $attributes) { return $value; } /** * Prepare the given value for storage. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function set($model, $key, $value, $attributes) { if(preg_match("/v=(.+)&|v=(.+)$|be\/(.+)$/", $value, $match)) { $value = collect($match)->except(0)->filter(function ($item) { return $item != ""; })->first(); } return $value; }}