当我使用CodeIgniter时,我的模型中有函数,如
public function GetArticlesFormatted($inactive = FALSE)
然后在我的控制器中我可以有
$articles->GetArticlesFormatted(true);
等等。
我应该如何在Laravel 5.4中实现同样的目标?我正在构建的应用程序的数据库已经构建完整并且是一团糟,所以Laravel的大多数“自动化”超级限制性事物都没有开箱即用。
例如,我正在检索一个国家代码,我需要它,但在某些情况下,我需要将其转换为我在另一个表中的国家/地区名称。
现在,只要我从模型中检索数据,我就进入了我的控制器:
$countryResult = Country::where('country_code', $item['country_code'])->first();
$countryArray = $countryResult->toArray();
$item['country'] = $countryArray['country_name'];
我可以以更优雅的方式实现这一目标吗? 我尝试过访问器,但出于某种原因无法为我的目的而工作。
答案 0 :(得分:0)
可以使用选择查询来限制对特定列的选择。
$countryName = Country::select('country_name')
->where('country_code', $item['country_code'])
->first();