Я использую laravel 6 и использую eloquent join для отображения данных из нескольких таблиц.
Рассмотрим следующий код:
$ToGetDefaultAddress
= TbPersonaddress::join('tb_cities AS TbCitie','TbCitie.n_CityId_PK', '=', 'tb_personaddresses.n_CityId_FK')
->join('tb_counties AS TbCountie','TbCountie.n_CountyId_PK', '=', 'tb_personaddresses.n_CountyId_FK')
->join('tb_states AS TbState', 'TbState.n_StateId_PK','=' ,'tb_personaddresses.n_StateId_FK')
->select('tb_personaddresses.n_PersonAddressesId_PK','tb_personaddresses.n_PersonId_FK',
'tb_personaddresses.d_EffectiveDateFrom','tb_personaddresses.d_EffectiveDateTo',
'TbCitie.s_CityCode','TbCitie.s_CityName','TbCountie.s_CountyCode',
'TbCountie.s_CountyName','TbState.s_StateCode','TbState.s_StateName')->first();
dd("Actual output:::::",$ToGetDefaultAddress);
Фактический вывод:
Как показано в приведенном выше коде, я сохраняю этот вывод в переменной $ToGetDefaultAddress
. Теперь для получения только данных атрибутов оба toArray()
и getAttributes()
возвращают мне один и тот же результат.
Например:
$DefaultAddress = $ToGetDefaultAddress->toArray();
и
$DefaultAddress = $ToGetDefaultAddress->getAttributes();
возвращает мне тот же вывод, как показано ниже:
Мой вопрос заключается в том, в чем разница между использованием toArray()
и getAttributes()
? Какой из них рекомендуется? Когда использовать toArray()
и когда использовать getAttributes()
?