php – 在laravel 5.1中安全和清理代码
发布时间:2020-12-14 19:44:26 所属栏目:大数据 来源:网络整理
导读:事实上,我有一个关于代码清理的问题 我试图在刀片文件中获得一些价值,我在两种方法之间感到困惑 我认为两者都是正确的,但我需要知道谁更干净,更安全 我的刀片直接使用Eloquent的第一种方法 @foreach (Auth::user()-company-country-cities as $city) {{$city
事实上,我有一个关于代码清理的问题
我试图在刀片文件中获得一些价值,我在两种方法之间感到困惑 我认为两者都是正确的,但我需要知道谁更干净,更安全 我的刀片直接使用Eloquent的第一种方法 @foreach (Auth::user()->company->country->cities as $city) {{$city->name}} @endforeach 使用Injecting Services的第二种方法是在我的模型中创建此方法,并使用laravel 5.1 Injecting Services在我的刀片中使用它 public function getCity() { foreach(Auth::user()->company->country->cities as $city) { return $city->name ; // OR return $city ; // i think this is one of benefits to use this approach // because in my view i can use getCity()->id or getCity()->name } } 谢谢你的时间 . 解决方法
从模型获取数据的最佳位置是在控制器中,然后将数据传递给视图:
这是任何关注点分离的MVC架构的关键点:控制器的目的是从模型中获取数据并将其传递给视图.视图的目的是从控制器获取数据并显示它.因此,视图唯一需要的是从控制器传递的变量 这样,应用程序逻辑就会保存在控制器中,您可以轻松地保存应用程序.所以: 在你的控制器中: public function index() { //get data from model $cities = Auth::user()->company->country->cities; //pass the data to the view return View::make('your_view',['cities' => $cities] ); } 然后,在您的视图中: @foreach ($cities as $city) {{$city->name}} @endforeach (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |