laravel 4如何在同一页面显示结果以及如何解决圈子调用

时间:2013-07-09 14:08:34

标签: laravel laravel-4

我对laravel完全不熟悉,我现在想要使用laravel 4。

假设我有一个页面A.php,它包含一个表格&提交按钮。在我向B.php提交post请求后,在B.php中我从数据库中查询数据。

我的问题是我想在B.php上显示我的结果,它是说A.php请求的同一页,我如何在routes.php中写。

我的代码: master.blade.php

<!DOCTYPE HTML>
<html>
   <head>
       <metacharset="UTF-8">
       <title>course query</title>
   </head>
   <body>
        <div class="container">
            @yield('container')
        </div>

        <h1 class="ret">The result is:
            @yield('ret')
            <input id="result" type="text"/>
        </h1>
   </body>
</html>

a.php只会

@extends('course.master')

@section('container')
    <h1>My Courses</h1>
    {{Form::open(array('url' => 'csOp'))}}
        {{Form::label('course', 'Your course')}}
        {{Form::text('course')}}
        {{Form::submit('Submit')}}
    {{Form::close()}}
@endsection

routes.php文件

Route::get('course', function(){
    return View::make('course.B');
});

Route::post('csOp', function(){
    // do something
    //$inputCourse = Input::get('course');    
    //$records = Courses::where('name', '=', $inputCourse)->get();

    // how do I return
    //return View::make('csOp', $records);
});

正如您所看到的,在A.php中,我有一个表单并请求csOp

Form::open(array('url' => 'csOp')

csOp是B.php,在B.php中我从db查询数据,现在我得到了结果, 但是如何将结果放到页面(B.php)本身?这就是说我想把结果放到

<input id="result" type="text"/>

你知道在jquery中很简单,我如何在laravel 4中使用它?

如果返回csOp,absolutlly会出错,它就是一个圆圈。那我怎么解决呢?

非常感谢。

1 个答案:

答案 0 :(得分:1)

如果要根据模型内容填充表单,请执行以下操作:使用数据库数据填充表单。

所以在laravel中你可以使用Form Model Binding。为此,请使用Form::model方法。所以在你的情况下

Route::post('csOp', function(){
// do something
$inputCourse = Input::get('course');    
$records = Courses::where('name', '=', $inputCourse)->get();

// how do I return
return View::make('csOp')->with('records',$records);
});

您的csOp.blade.php

@extends('course.master')

@section('container')
<h1>My Courses</h1>
{{Form::model($records,array('url' => 'csOp'))}}
    {{Form::label('course', 'Your course')}}
    {{Form::text('course')}}

{{Form::close()}}
@endsection

现在,当您生成表单元素(如文本输入)时,与字段名称匹配的模型值将自动设置为字段值。因此,例如,对于名为course的文本输入,Courses模型的course属性将被设置为值。