我正在尝试从刀片文件中的类文件中调用方法。 std::stoi()
使用foreach循环中的struct MyData
{
int num1;
int num2;
std::string color;
friend std::ostream& operator << (std::ostream& os, const MyData& d);
friend std::istream& operator >> (std::istream& os, const MyData& d);
};
变量。由于我在刀片文件中循环,我无法或者更确切地说,在视图中调用控制器方法是不好的做法,或者我听说过。
MyController
...
MyData tmp;
outfile << tmp;
vData.push_back(tmp);
...
view.blade.php
foo()
由于$item
(在视图内)生成了public function getData() {
$data = DB::paginate(10);
return view('view', ['data' => $data]);
}
public function foo($var) {
//do something with $var
return $var
}
,我不知道如何将之前的方法调用到该视图中退货声明。
有什么建议吗?
答案 0 :(得分:7)
只需与您的视图共享您的控制器:
控制器:
public function getData() {
$data = DB::paginate(10);
return view('view', [
'data' => $data,
'controller' => $this,
]);
}
查看:
@foreach ($data as $item)
<td>{{$item->key}}</td>
<td>{{ $controller->foo($item) }} </td>
@endforeach
更好的方法是在控制器中生成输出:
public function getData() {
$data = DB::paginate(10);
$data = array_map(function($item) {
$item->output = $this->foo($item);
return $item;
}, $data);
return view('view', [
'data' => $data,
]);
}