gpt4 book ai didi

php - laravel 包含 View 中的数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:03 26 4
gpt4 key购买 nike

在我的 laravel 应用程序中,我将一个变量 $data 传递给一个 View ,稍后我将把它包含在另一个 View 中。所以在我的 Controller 方法中,我有:

public function random($id){
$data = DB::table('reports')->where('id',$id);
return view('partials.data', compact('data'));
}

partials.data 我有:

{!! Form::open(['url'=>'reports/data',$id]) !!}

<table class="table table-responsive table-condensed table-bordered tab-content">
<thead>
<tr>
<th>Month</th>
<th>Value</th>
</tr>
</thead>
<tbody>
@foreach($data as $dat)
<tr>{{$dat->month}}</tr>
<tr>{{$dat->value}}</tr>
@endforeach
</tbody>
</table>

{!! Form::close() !!}

在主视图中我有这个功能:

function kpi_values(d) {
// `d` is the original data object for the row
kpi = d.id;
return '@include("reports.data", array("id" => "kpi"))';
}

由以下因素触发:

$('#monthly_table tbody').on('click', 'td.details-controls', function () {
var tr = $(this).closest('tr');
var row = table.row(tr);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
row.child(kpi_values(row.data())).show();
tr.addClass('shown');


}
});

当我运行它时,出现以下错误:

ErrorException in 3534c4c98c65c2d5267bf7c54a960d41 line 13:
Undefined variable: data

我已经在局部 View 中传递了变量数据,但是,它似乎在主视图中需要它。

有没有办法不将变量传递给主视图就可以做到这一点?我不想混合使用,因为部分 View Controller 方法需要一个参数,而主视图中没有参数。

最佳答案

Laravel 提供了一个很好的工具来处理这种情况,我们需要在不通过主视图的情况下将一些参数传递给部分 View 。那是 View Composer 。这是一个例子:

In \App\Providers\AppServiceProvider.php file

public function boot()
{

//get data and pass it to partials.data whenever partials.data is executed

view()->composer('partials.data',function($view){
$view->with('data',DataSet::all());
});

}

更高级的可以从Laracast学习

关于php - laravel 包含 View 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com