在 Laravel 中与 Blade 连接

Concatenation with Blade in Laravel

我正在尝试访问我的 ItemController 中的 table 列。在这种情况下,我希望使用我的数组中的值 + 一个连接的字符串作为列名。

ItemController.php ....

public function displayItems() {
   $itemsList = array('Alpha','Bravo','Charlie','Delta');
   //$results = returned mysql row here
   return view('items', ['rs' => $results, 'items' => $itemsList]);
}

page.blade.php

@foreach ($items as $item)
  //$item is used elsewhere too, so keep $item
  {{$rs->$item.'_data'}}
@endforeach

期望的输出:

$rs->Alpha_data;
$rs->Delta_data;
etc

如何为 $rs->name 动态设置变量?

尝试这样做:

{{ $rs->${$item.'_data'} }}

http://php.net/manual/en/language.variables.variable.php

很简单,只需使用 .在 PHP

中签名连接

假设您正在检索单个记录 'task',并且该记录具有名为 'var1'、'var2'、'var3' 的变量...一直到 'var16'。

您可以像这样在 blade 文件中回显这些变量:

@for($y=1; $y<=16; $y++)
 {{ $task->{'var'.$y} }}
@endfor