【问题标题】:Using blade data value into another one within layout将刀片数据值用于布局中的另一个值
【发布时间】:2018-11-19 19:40:24
【问题描述】:

我想将一个变量值用于另一个变量值(两者都与键在同一个表中)并在刀片布局中显示 容器变量值。这两个变量都使用来自控制器的with 方法传递。那可能吗? 这是我正在寻找的快速演示:

# controller method 
public function build()
{
    return $this
    ->view('emails.registration_following')
    ->with( ['name' => 'Nick', 'text' => 'Hello {{ $name }}'] ) # Here goes the thing
    ;
}

blade.php 看起来像:

<html>
    <body>
      <p> {{ $text }} </p>    
    </body>
</html>

我的预期输出是Hello Nick,但我得到了Hello {{Nick}}。我知道这里的括号被视为String,但如何绕过呢?

【问题讨论】:

    标签: php laravel laravel-5 laravel-blade


    【解决方案1】:

    先在函数中定义变量怎么样:

    # controller method 
    public function build()
    {
        $name = 'Nick';
    
        return $this
          ->view('emails.registration_following')
          ->with( ['name' => $name, 'text' => "Hello $name"] ) # Here goes the thing
        ;
    }
    

    通过这种方式,您可以在视图中同时访问 $name$text

    【讨论】:

    • 这是个好主意。查看您的代码让我发现我不需要传递两个变量,而只需传递一个并将其值放入所有需要的其他变量。
    • 谢谢。我怎么没看到?
    • 谢谢,@CfassKing。这就是 StackOverflow 的用途。如果可能,请投票并接受:)
    【解决方案2】:

    事实上,我不需要传递两个变量,而只需要传递一个并将其值放入所有需要其他变量来形成我预期的文本。 做我要求的事情是个坏主意。谢谢。

    【讨论】:

      【解决方案3】:

      你试过下面这样吗?

      public function build()
      {
          $name = 'Nick';
          return $this
          ->view('emails.registration_following')
          ->with( ['name' => $name , 'text' => 'Hello '.$name] ) # Here goes the thing
          ;
      }
      

      【讨论】:

      • 这是个好主意。查看您的代码让我发现我不需要传递两个变量,而只需要传递一个并将其值放入所有需要的其他变量。谢谢。我怎么没看到?
      【解决方案4】:

      with( ['name' =&gt; 'Nick', 'text' =&gt; "Hello $name"] )请使用双引号

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 1970-01-01
        • 2017-05-13
        • 2013-02-25
        • 2019-10-03
        • 2019-01-28
        • 2014-02-07
        • 2017-02-12
        • 2021-05-03
        相关资源
        最近更新 更多