当前位置: 首页 > 知识库问答 >
问题:

将变量从自定义Laravel帮助程序传递到刀片文件

殳飞扬
2023-03-14

我正在尝试创建一个助手来集中一个复杂的表单::select。

我的帮手:

namespace App\Helpers;
use Log;
use App\Countries;

class Address {
    public static function country() {
        $countries = Countries::orderby('name_zh','asc');
        $form = "Form::select('countries', \$countries);";
        return $form;
    }
}

我的看法是:

{!! Address::country() !!}

我想有这个选择形式与$国家变量从这个助手,并显示一个下拉列表在我的看法。我该怎么做呢?

共有2个答案

刘畅
2023-03-14

不确定是否真正理解您的问题。。。

但是,如果要将$countries变量传递给视图,函数只需返回此变量即可。

public static function country()
{
    $countries = ...;
    return $countries;
}

然后,有两种选择:

>

use App\Helpers\Address;
// code code code
public function controllerFunc()
{
    // code
    $countries = Address::country();

    return view('yourview', compact($countries));
}

把它放在你的视野里:

<!-- Dump your $countries (from controller) var -->
{{ dd($countries) }}

在视图中使用您的函数

<!-- Dump your $countries (from helper) var -->
{{ dd(\App\Helpers\Address::country()) }}

现在,如果你想直接传递你的选择,那么在你的静态函数中,返回Form::选择(“国家”,$国家”),就像Marabc说的那样。

岳研
2023-03-14

在辅助对象中,使用Laravel集合辅助对象创建选择,并将其返回到视图中,如下所示:

public static function country() {
    $countries = Countries::orderby('name_zh','asc')
                            ->pluck('name', 'id');
    return Form::select('countries', $countries);
}

在视图中,只需调用以下方法:

{{ Address::country() }}

或者,如果还需要$countries变量,可以从控制器将其发送到视图,然后也将其发送到帮助器:

public function controllerFunction() {
    $countries = Countries::orderby('name_zh','asc')
                            ->get();
    return view('yourView')->withCountries($countries);
}

在视图中,您可以访问此$countries,然后将其传递给帮助者:

{{ Address::country($countries->pluck('name', 'id')) }}

这次的助手应该是这样的:

public static function country($countries) {
    return Form::select('countries', $countries);
}
 类似资料:
  • 我有一个有很多数字的表格,我想对所有的数字都使用数字格式。所以现在我有这个: 但我只是重复相同的函数number_format(),当有人决定格式不同时,可能会出现问题。然后我必须更改表中的所有格式。我对Nette框架有一些经验,并且存在一个选项,我可以拥有自定义帮助器,然后在模板中使用它,即:在管道之后,我有自己的自定义帮助器。Laravel刀片模板中是否有类似的内容?我在文档中没有找到任何关于

  • 我有一个自定义函数,我想在刀片模板中传递它。这里是功能: 用法如下: 是否可以将自定义功能传递给刀片模板?非常感谢。

  • 我在建一个拉威尔的网站。我希望提交的表单数据运行查询,并将结果插入表格式。我正在使用oracle DB,并已将其连接到Laravel。另外,我已经创建了表单,查询结果正确。我不能做的是将结果成功地传递到表中。 我的文件如下: > Routes.php(或web.php较新的laravel版本): 搜索。刀身php(带有post方法的表单) 我的控制器(NewController.php)运行查询。

  • 我想创建helper函数,以避免在Laravel 5中的视图之间重复代码: view.blade.php 它们基本上是文本格式化函数。我可以在哪里以及如何用这些函数创建一个文件?

  • 我有变量 ,我想检查变量是否在laravel刀片文件中设置。我已经尝试作为 但是没有运气。如何检查变量设置或没有在Laravel5.3刀片文件。

  • 问题内容: 我想根据例如从jenkins传递的变量来运行测试用例,请选择要运行的测试用例:testcaseOne,testcaseTwo 在pom.xml(maven)中: 我有两个testng @test方法: 还有我的testng.xml文件: 如何根据我要运行的测试数量和数量来传递此参数?也许有完全不同的方式来做到这一点? 问题答案: 您可以在testng.xml文件http://testn