#laravel #model #phpunit #phpstorm
#ларавель #Модель #phpunit #PhpStorm именно
Вопрос:
Окружающая среда: PhpStorm, с использованием Laravel и PHPUnit.
Что я хочу: использовать модель $casts
on my users и выполнить функцию foreach для сравнения всех его полей для конкретного пользователя, утверждая, что все переменные из базы данных имеют тот же тип, что и у модели my users $casts.
Есть ли какая-нибудь интегрированная функция, которая уже делает это для меня? Если нет, пожалуйста, скажите мне, как сделать это с нуля.
Спасибо.
Ответ №1:
Чтобы получить $casts для любой модели
$user = User::firstOrFail();
$user->getCasts();
/*
* Output might be an array like
[
"id" => "int",
"email_verified_at" => "datetime",
]
*/
Однако, если вы объявите свойство приведения в классе модели, Laravel обеспечит правильное приведение атрибутов — будьте уверены, что функциональность приведения атрибутов в соответствии с массивом $casts должна быть тщательно протестирована на уровне фреймворка.