Расшифровать исключение при вызове модели с помощью $withPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Расшифровать исключение при вызове модели с помощью $with

Сообщение Anonymous »


У меня есть 3 модели, Пользователь, хост и URL

По сути, URL имеет поле host_id, чтобы я мог связать две модели вместе.

Вот мои модели:

Модель пользователя (user_urls — это просто сводная таблица, содержащая user_id и url_id)

класс Пользователь расширяет Authenticatable { ... здесь неактуальные коды... URL-адреса общедоступной функции(){ return $this->belongsToMany('\App\Models\SEO\Url', 'user_urls', 'user_id', 'url_id')->withTimestamps(); } } Хост-модель:

класс Хост расширяет модель { защищенный $fillable = [ 'Дружественное имя', 'стоимость_хостинга', 'логин_url', 'имя пользователя', // зашифрованное поле 'пароль' // зашифрованное поле ]; ...здесь несколько ненужных кодов... -- МУТАТОРЫ/АКСЕССОРЫ--- общественная функция setPasswordAttribute($value){ $this->attributes['password'] = \Crypt::encrypt($value); } общественная функция getPasswordAttribute($value){ return $this->attributes['password'] = \Crypt::decrypt($value); } ... } Модель URL:

URL класса расширяет модель { защищенная таблица $ = 'urls'; защищенный $with = ['хост']; публичная функция хоста(){ return $this->belongsTo('\App\Models\SEO\Host', 'host_id'); } } Теперь, когда я пытаюсь сделать это на контроллере,

return $this->user->urls(); Он возвращает исключение

в строке 44 BaseEncrypter.php в BaseEncrypter->getJsonPayload('password') в строке 96 Encrypter.php в Encrypter->decrypt('password') в строке 218 Facade.php в Facade::__callStatic('decrypt', array('password')) в строке 69 Host.php в Crypt::decrypt('password') в строке 69 Host.php в Host->getPasswordAttribute('password') в строке Model.php 2782 в Model->mutateAttribute('password', 'password') в строке Model.php 2794 в Model->mutateAttributeForArray('password', 'password') в строке Model.php 2529 в Model->attributesToArray() в строке Model.php 2490 в Model->toArray() в строке Model.php 2600 в Model->relationsToArray() в строке Model.php 2492 в Model->toArray() в строке Model.php 2480 в Model->jsonSerialize() в строке 1005 Collection.php в коллекции->Illuminate\Support\{закрытие}(объект(URL)) в array_map(объект(Closure), массив(объект(Url), объект(Url), объект(Url))) в строке Collection.php 1013 в Collection->jsonSerialize() в строке 1024 Collection.php в Collection->toJson() в строке 68 Response.php в Response->morphToJson(object(Collection)) в строке 46 Response.php в Response->setContent(object(Collection)) в строке 197 Response.php в Response->__construct(object(Collection)) в строке Router.php 1030 в Router->prepareResponse(object(Request), object(Collection)) в строке 95 ControllerDispatcher.php в ControllerDispatcher->Illuminate\Routing\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 52 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 28 Authenticate.php при аутентификации-> дескриптор (объект (запрос), объект (закрытие)) в call_user_func_array(массив(объект(Аутентификация), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 103 Pipeline.php в Pipeline->then(object(Closure)) в строке 96 ControllerDispatcher.php в ControllerDispatcher->callWithinStack(object(UsersUrlController), object(Route), object(Request), 'api_filter') в строке 54 ControllerDispatcher.php в ControllerDispatcher->dispatch(object(Route), object(Request), '\App\Http\Controllers\Users\UsersUrlController', 'api_filter') в строке Route.php 174 в Route->runController(object(Request)) в строке Route.php 140 в Route->run(object(Request)) в строке Router.php 703 в Router->Illuminate\Routing\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 52 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 64 VerifyCsrfToken.php в VerifyCsrfToken-> handle (объект (запрос), объект (закрытие)) в call_user_func_array(массив(объект(VerifyCsrfToken), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 49 ShareErrorsFromSession.php в ShareErrorsFromSession-> handle (объект (запрос), объект (закрытие)) в call_user_func_array(массив(объект(ShareErrorsFromSession), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 62 StartSession.php в StartSession-> handle (объект (Запрос), объект (Закрытие)) в call_user_func_array(массив(объект(StartSession), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 37 AddQueuedCookiesToResponse.php в AddQueuedCookiesToResponse-> handle (объект (запрос), объект (закрытие)) в call_user_func_array(массив(объект(AddQueuedCookiesToResponse), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект (Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в строке 59 EncryptCookies.php в EncryptCookies-> handle (объект (запрос), объект (закрытие)) в call_user_func_array(массив(объект(EncryptCookies), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 103 Pipeline.php в Pipeline->then(object(Closure)) в строке Router.php 705 в Router->runRouteWithinStack(object(Route), object(Request)) в строке Router.php 678 в Router->dispatchToRoute(object(Request)) в строке Router.php 654 в Router->dispatch(object(Request)) в строке 246 Kernel.php в Kernel->Illuminate\Foundation\Http\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 52 Pipeline.php в Pipeline->Illuminate\Routing\{closure}(object(Request)) в CheckForMaintenanceMode.php, строка 44 в CheckForMaintenanceMode-> handle (объект (Запрос), объект (Закрытие)) в call_user_func_array(массив(объект(CheckForMaintenanceMode), 'дескриптор'), массив(объект(Запрос), объект(Закрытие))) в строке 124 Pipeline.php в Pipeline->Illuminate\Pipeline\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 32 Pipeline.php в Pipeline->Illuminate\Routing\{закрытие}(объект(Запрос)) в call_user_func(объект(Закрытие), объект(Запрос)) в строке 103 Pipeline.php в Pipeline->then(object(Closure)) в строке 132 Kernel.php в Kernel-> sendRequestThroughRouter(object(Request)) в строке 99 Kernel.php в Kernel->handle(object(Request)) в строке index.php 59 Я ясно вижу, что он пытается расшифровать строку «пароль», конечно, он выдаст ошибку просто потому, что он не зашифрован, но в моей базе данных он зашифрован. Почему он уже зашифрован еще до того, как его расшифровали? Возможна ли это ошибка?

Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»