【问题标题】:Call function using more than one variable. PHP - Laravel - Blade使用多个变量调用函数。 PHP - Laravel - 刀片
【发布时间】:2018-02-11 08:50:11
【问题描述】:

我正在尝试调用我在 Controller e 上创建的一个函数(获取工作日(正在工作))需要两个变量。 但是当我从视图调用时(使用 Laravel 中的 Blade),我得到的消息是我只传递了一个属性,而不是两个。

我的控制:

public function getWeekDay($monthYear, $qtdDay){ 

    $month = substr($monthYear, 0, 2);
    $year= substr($monthYear, 3, 4);
    $month = $month + 1;

    $lastDay = date('m/d/Y', mktime(0, 0, 0, $month, 0, $year));

    $firstDay = strtotime($lastDay . ' +'.$qtdDay.' Weekday');

   return date('d/m/Y', $firstDay);
}

我的看法:

{!! app(App\\Http\\Controllers\\Site\\TarefaController::class)->getWeekDay( [$monthYear , $qtdDay ) }}

这是我应该从 Blade 调用函数的方式吗??

【问题讨论】:

  • 关闭] 在哪里?为什么你使用[]

标签: php laravel view blade


【解决方案1】:

function 设为静态。

public static function getWeekDay($monthYear, $qtdDay){ //** static

    $month = substr($monthYear, 0, 2);
    $year= substr($monthYear, 3, 4);
    $month = $month + 1;

    $lastDay = date('m/d/Y', mktime(0, 0, 0, $month, 0, $year));

    $firstDay = strtotime($lastDay . ' +'.$qtdDay.' Weekday');

   return date('d/m/Y', $firstDay);
}

在您的view 电话中

{{ \App\Http\Controllers\Site\TarefaController::getWeekDay($monthYear, $qtdDay) }}

希望它有效。

【讨论】:

  • 我更改了视图和控制器,但仍然无法正常工作。我收到消息:类型错误:函数 App\Http\Controllers\Site\TarefaController::getWeekDay() 的参数太少,通过了 1 个(查看有错误),预期正好 2 个
  • $monthYear, $qtdDay 在视图中传递时是否都有值?
  • 是的,实际上我使用的变量与我用来制作表格的变量相同。
  • 尝试 {{ dd($monthYear) }} 和 {{ dd($qtdDay) }} 在该调用上方的视图中查看值。
  • {{ dd($monthYear) }} 我有 "06/2016" 和 {{ dd($qtdDay) }} 我有 "2"
【解决方案2】:

您现在将参数作为一个数组发送

{!! app(App\\Http\\Controllers\\Site\\TarefaController::class)->getWeekDay( [$monthYear , $qtdDay ) }}

换成

{!! app(App\\Http\\Controllers\\Site\\TarefaController::class)->getWeekDay( $monthYear , $qtdDay ) }}

【讨论】:

  • 我删除了 [,这是错误的.. 但仍然无法正常工作!!
猜你喜欢
  • 2016-08-12
  • 2015-03-13
  • 2018-05-30
  • 2014-12-08
  • 2017-02-24
  • 2017-06-08
  • 1970-01-01
  • 2021-07-23
相关资源
最近更新 更多