在Laravel

时间:2017-10-21 00:20:27

标签: laravel eloquent

当我使用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'];

我可以以更优雅的方式实现这一目标吗? 我尝试过访问器,但出于某种原因无法为我的目的而工作。

1 个答案:

答案 0 :(得分:0)

可以使用选择查询来限制对特定列的选择。

$countryName = Country::select('country_name')
               ->where('country_code', $item['country_code'])
               ->first();