从外部文件调用刀片中的变量

时间:2018-05-02 16:16:41

标签: php laravel

我正在使用html表填充我的html刀片,该表由另一个文件中的查询填充。

除了从执行这些查询的主函数创建的一个变量以外,我只是显示正常,我只是试图从刀片中调用它。

我现在拥有的所有功能都可以返回查询结果并将其包装起来,以便我可以将它们放入我的html视图中。除了原始文件中另一个函数中的这一列外,它都显示出来。

基本上我只需要将numbersfile.php中的$ percent变量调用到我的html视图中的一列

NumbersFile.php

function totals(){

    $total = $row['total'];
    $sales = $row['sales'];
    $percent = round( ($total / $sales) * 100, 2 );
    //all of this data is correct

}

report.php

function percentReport($p){

    $data = [];

    $totals = new NumbersFile();
    $totals->doQuery($p[0]);
    $totals->fetchData();

    while ($row = $totals->fetchRow()) {
        $summary[] = $row;
    }
    $data = $summary;
    $wrap['data'] = $data;
    return $wrap; // this returns everything I need from the original query

}

numbers.blade.php

@foreach($data['data'] as $td)
    <tr>
        <td>{{$td['total1']}}</td>
        <td>{{$td['total2']}}</td>
        <td>{{$td['total3']}}</td>
        <td>{{$td['total4']}}</td> <!--These rows show perfectly fine-->
        <td>{{$percent}}</td><!--This is what I need to fill with that variable-->
    </tr>
@endforeach

2 个答案:

答案 0 :(得分:0)

为什么不在刀片内使用@include

@include('{your path}/{your file name without .php extension}')

确保在$percent函数之外可以访问totals( )(关心封装)。

答案 1 :(得分:0)

你可以创建一个&#34;帮助&#34;文件,我通常有app / Http / helpers.php,你需要在composer.json上添加它

onSelectionChange(ev, i, j, k) {
    this.getItemCatalogs()[i].itemCatalog[j].itemSize[k].rbSelected = ev.target.checked;
..
}

运行composer update

你需要在helpers.php中移动该函数或在编辑器中添加每个文件,总函数也必须返回$ percent,我认为你需要将变量发送到该函数。

然后在你的观点上

"autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files":["app/Http/helpers.php"]
},

为什么你有文件&#34; report.php&#34;?我认为最好在控制器上执行它,然后将其发送到视图。