我有这个输入表单:(使用带有 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 = '';' 变量,但这只是产生了一个空字符串。我的问题一定出在逻辑上。