2016-05-18 63 views
1

我对laravel和blade模板很陌生,我很困惑在这种情况下该怎么做。我是否必须制作多个刀片模板? laravel 5.2

我多发表 - 表的CPU,主板表,内存表等......每个表包含部分规格

我从表中

$select_columns = [ 
    'cores', 
    'threads', 
    'frequency', 
    'max_frequency', 
    'l1', 
    'l2', 
    'l3', 
    'thermal', 
    'tech', 
    ]; 

    $specs = \DB::table('cpus')->select($select_columns)->where('slug' , $slug)->first(); 

的信息检索单个列的信息关于规格和价值应该像这样显示。

<table> 
<tbody> 
<tr> 
<td>Specificiation</td> 
<td>value</td>    
</tr> 

<tr> 
<td>Specification</td> 
<td>value</td>    
</tr> 

// other specifications 

</tbody> 
</table> 

我可以很容易地使用1模板输出带有foreach循环的所有表格行。

@foreach ($specs as $spec => $value) 
<tr> 
<td>{{$spec}} </td> 
<td>{{$value}} </td>     
</tr> 
@endforeach 

但{{规范}} - specificarions需要在不同的语言,我不能使用

select(column as newvalue) 

因为有像“A L N个Z”字母的代码会loook真的很奇怪,如果我这样做

所以我想这个问题是什么,我应该做些什么呢?

我应该让每个表一个新的模板,并显示这样的数据?

<tr> 
<td>Specification</td> 
<td>{{$specs->value}}</td>    
</tr> 


<tr> 
<td>Specification1</td> 
<td>{{$specs->value1}}</td>     
</tr> 

我在这里很迷路。

在此先感谢。

+0

'{{htmlspecialchars($ specs-> value)}}'? http://php.net/manual/en/function.htmlspecialchars.php –

+0

这些信件有什么问题?您无法查询您的数据库,或者无法正确显示数据? –

+0

它与htmlsepcialchars有什么关系?如果我使用select(column as newvalue),并且包含字母作为“”,那么如果我必须对特定的$ spec-> value进行一些控制,例如$ spec- >Kanārijs==真实,它看起来有点奇怪。 –

回答

0

就我个人而言,我不会为每个表格制作单独的模板。干燥,懒惰的开发人员和所有这些事情。

我认为来自Laravel的localization functionality可能会很适合这里。您可以使用阵列中的密钥作为翻译文件中的密钥。也许是这样的:

@foreach ($specs as $spec => $value) 
<tr> 
<td>{{trans('specs.' . $spec)}} </td> 
<td>{{$value}} </td>     
</tr> 
@endforeach 

而且里面你resources/lang/fr/specs.php文件时,你可以这样做:

return [ 
'cpu' => 'çpû', 
// ... 
]; 

你甚至可以添加额外的文本(某种描述或其他)基于这些键更丰富你的桌子。如果你决定将你的网站翻译成另一种语言,那么你已经减半了,你只需要为你的新语言添加一个文件夹并在那里复制和翻译这些文件。

+0

谢谢,似乎多数民众赞成我在找:) –