laravel使用从控制器发送的视图中的数据

时间:2014-06-24 07:36:30

标签: php laravel laravel-4 blade

我总是从像->with(array('message'=>'there is an error '))这样的视图发送数据,并且它可以正常工作。

我想让客户编辑一些信息,所以当他/她点击编辑时,控制器中的这个功能正在执行:

public function edit($id)
    {
        $waitingTimes = WaitingTimes::find($id);
        return View::make('waitingtimes.edit')->with(array(
            'verticalMenu' => 'none',
            'verticalMenuTab' => 'none',
            'data' => $waitingTimes
        ));
    }

稍后在视图中,我应该可以这样说:

$data->startTime, $data->endTime, $data->id, $data->restaurant_id

但是每次我这样做,我都会在浏览器上打印$data->startTime,但我应该得到startTime属性的值。

这是我的观点:

<div class="oneInfo">
            {{ Form::text('startTime', '', array('class' => 'time ui-timepicker-input', 'id' => 'startTime', 'autocomplete' => 'off'))}}
            <span class="errorMessage">
                <?php
                echo $errors->first('startTime');
                ?>
            </span>
        </div>

视图有一个输入文本,我希望输入文本填充从控制器发送的数据。

我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

Form::text()方法的第二个参数允许您将要分配给输入元素的值传递给它。表单输入声明当前正将输入值设置为空字符串。

处理此问题的最佳方法是用$value=null替换空字符串。

{{ Form::text('startTime', $value=null, array('class' => 'time ui-timepicker-input', 'id' => 'startTime', 'autocomplete' => 'off'))}}

这将自动将值替换为您的模型数据或用户输入的数据(如果验证失败并重定向回到表单)。

从外观上看,您还可以使用form model bindingWaitingTimes模型绑定到表单,从而使自己的工作变得更轻松。