【发布时间】:2012-11-08 15:42:15
【问题描述】:
我有这个输入表单:(在 Laravel 中使用刀片模板引擎,但是 html 应该很容易理解并且最终是微不足道的)
{{ Form::text('amount[]', Input::old('amount')) }}
<?php echo Form::select('unit[]',
array(
'whole' => _('whole'),
'ml' => _('milliliter'),
'l' => _('liter'),
'dl' => _('deciliter'),
'mg' => _('milligram'),
'g' => _('gram'),
'kg' => _('kilogram'),
'tsp' => _('teaspoon'),
'tbs' => _('tablespoon'),
)) ?>
{{ Form::text('ingredient[]', Input::old('ingredient')) }}
我正在尝试将其格式化到我的数据库中,以这样的字符串形式返回:
<li><span>1</span> liter red wine</li>
我正在考虑使它成为一种更简单的形式,并消除迫使我的用户输入它的单位度量以实现灵活性,但我仍然必须将它全部压缩到我的数据库的一个表中。 span 标签在 jQuery 中用于动态增加数字,因此是必需的。我已经断断续续地做了好几天了,但我无法破解如何做到这一点。
这是我的格式化逻辑:
$amount = Input::get('amount[]');
$unit = Input::get('unit[]');
$ingredient = Input::get('ingredient[]');
for ( $i = 0, $c = count(Input::get('ingredient[]')); $i < $c; $i++ )
{
$ingredients .= '<li><span>'.$amount[$i].'</span>'.$unit[$i].' '.$ingredient[$i].'</li>';
}
我发送它使用
$new = Recipe::create(array(
'title' => Input::get('title'),
'curiousity' => Input::get('curiousity'),
'ingredients' => $ingredients,
'steps' => Input::get('recipe')
));
我尝试了多种方法,但出现了诸如 $ingredients 数组未定义或无法在变量中使用 [] 之类的错误。我尝试将变量定义为 '$ingredients = '';'变量,但这只是产生了一个空字符串。我的问题一定出在逻辑上。
【问题讨论】:
-
我将走向不同的方向,我将创建一个由配方 ID 链接的新数据库,每个字段一列。它会做我的配料标签。还是谢谢各位!我会把这个问题留在这里,以防有人遇到类似问题。