У меня есть модель приложения, использующая черту. Мне нужна черта, чтобы получать данные и использовать их в функции доступа.
Модель содержимого:
use App\Traits\ArchiveTrait;
class Content extends Model
{
use ArchiveTrait;
protected $fillable = ['title','details'];
protected $table = 'contents';
public function getFileName($file_name)
{
return $this->archiving->url.'/media/contents/'.$file_name;
}
}
Архивная черта
trait ArchiveTrait {
private $app_id;
private $archiving;
public function __construct()
{
$this->app_id = config('archiving.id');
$this->archiving = Application::findOrFail($this->app_id);
}
public function guzzleClient() {
$headers = [
'Content-Type' => 'application/json',
'X-Requested-With' => 'XMLHttpRequest',
'Authorization' => 'Bearer ' . $this->archiving->token,
];
$client = new \GuzzleHttp\Client([
'headers' => $headers,
'http_errors' => false
]);
return $client;
}
}
Тогда проблема в том, когда Я пытаюсь вставить новый контент, я получаю заголовок « Поле», а «подробности» не имеют значения по умолчанию '* ошибка SQL, но если я удалю «использовать ArchiveTrait» и getFileName функция от модели, то она работает нормально. Думаю, с этой чертой что-то не так.