Laravel 5中的CRUD新手

时间:2015-02-12 13:56:13

标签: laravel-5

我对Laravel 5非常陌生。我目前正在使用CRUD功能进行任务项目。我做了删除功能,但更新和添加仍然是凌乱的。请帮帮我。

我的数据库只有1个表,'任务'有3列:id,name和day。

My TaskModel:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class TasksModel extends Model {

    //
    protected $table = 'tasks';

}

这是我的家庭观点:

<html>
<header>
    <style>
        .wrapper{
            width:600px;
            margin:auto;
        }

    </style>
    <title>Tasks List</title>

</header>

<body>
<div class="wrapper">

    <h2 align="center"><font color="#a52a2a">Task List</font></h2>
    <table name ="todo_table" border="1px" cellspacing="0" width = "600px">
        <tr align="center">
            <td>ID</td>
            <td>Name</td>
            <td>Time</td>
            <td>Action</td>
        </tr>
<?php

        $records = \App\TasksModel::all()->sortBy('id');
        foreach($records as $mytask)

        {


?>

            <tr align="center">

                <td><?php echo $mytask->id; ?></td>
                <td width="200px"><?php echo $mytask->name; ?></td>
                <td><?php echo $mytask->day; ?></td>
                <td width="100px">
                    <a href = "{{ URL::to('add') }}"> <img src = "/public/images/add.jpg" width="30px" height="30px"> </a>
                    <a href = "{{ URL::to('delete' . '/id='. $mytask->id ) }}"> <img src = "/public/images/del.jpg" width="30px" height="`30px"> </a>
                    <a href = "{{ URL::to('update' . '/id='. $mytask->id ) }}"> <img src = "/public/images/update.jpg" width="30px" height="30px"> </a>
                </td>
            </tr>
<?php

        }// End of foreach($records as $mytask)

?>
    </table>

</div>
</body>
</html>

这是我的添加视图:

   <html>
    <head>
        <style>
            .wrapper{
                width:600px;
                margin:auto;
            }

        </style>
    </head>
    <body>
    <div>

        {!! Form::open(array('url' => 'process', 'method' => 'post')) !!}
        <div class="wrapper">
            <h2><font color="#a52a2a">Add Task</font></h2>

            <p><input type = "text" name = "new-task" placeholder = "Add  new task..." /></p>
            <p><input type = "text" name = "new-time" placeholder = "Add  new time..." /></p>
            {!! Form::submit('Add', array('name' => 'bt_add')) !!}


        </div>

        {!! Form::close() !!}
    </div>

    </body>
    </html>

我的路线:

Route::get('/', 'HomeController@index');

Route::get('add', 'HoneController@add');

Route::get('delete/id={del}', 'HomeController@delete');

Route::get('update/id={edit}', 'HomeController@update');

Route::get('process', 'ProcessController@index'); // I think process page will handle update/add

3 个答案:

答案 0 :(得分:5)

您不需要手动执行CRUD,Laravel可以使用RESTFul控制器自动执行此操作。

看看这里:

http://laravel.com/docs/5.0/controllers#restful-resource-controllers

要构建RESTFul URL,请使用路由方法

http://laravel.com/docs/5.0/helpers#urls

简单:)

答案 1 :(得分:1)

首先关闭以下属于您的任务控制器。你的观点应该是愚蠢的。基本上没有理由将原始php插入到视图文件中。

<?php
    $records = \App\TasksModel::all()->sortBy('id');
    foreach($records as $mytask)
    {
        ...
    }
?>

您将使TaskController响应路由并为视图准备数据。然后在视图中执行以下操作:

@foreach($tasks as $task)
   ...
@endforeach

您的路线应更新为:     Route :: delete('task / {id}',TaskController @ delete);

您的表单也需要有删除方法。

答案 2 :(得分:0)

您可以按照以下步骤轻松地在laravel中进行CRUD

Route::group(['prefix' => 'admin'], function () {
  ...
  Route::resource('/categories', 'admin\CategoryController');
  ...
});

使用Laravel中提供的PHP artisan命令创建资源

php artisan make:controller CategoryController --resource

这将创建资源控制器,您将拥有索引,存储,更新,显示,销毁的emtpy方法。

然后,您可以将方法绑定到视图

有关详细说明,请按照教程进行操作 http://deepdivetuts.com/basic-create-edit-update-delete-functionality-laravel-5-3