laravel 5 如何将数据传递给控制器​​到模型

laravel 5 how to pass data to controller to model

我是 Laravel 5 和学习的新手。现在我已经创建了登录表单,我想检查用户是否有效(匹配来自 table 的用户)并采取一些措施。

现在我正在从 controller (AdminLoginController.php) 获取所有表单数据。现在我不知道如何传递给模型以检查用户是否存在。

查看 (login.blade.php)

//I have used this form action {{ URL::to('administrator/userAuthentication') }}

<form name="frmLogin" action="{{ URL::to('administrator/userAuthentication') }}" method="post">
    <input name="_token" type="hidden" value="{{ csrf_token() }}"/>
    <div class="form-group has-feedback">
        <input type="text" name="username" id="username"class="form-control" placeholder="Username">
        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
    </div>
    <div class="form-group has-feedback">
        <input type="password" name="password" id="password" class="form-control" placeholder="Password">
        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
    </div>
    <div class="row">
        <?php /*<div class="col-xs-8">
            <div class="checkbox icheck">
                <label>
                    <input type="checkbox"> Remember Me
                </label>
            </div>
        </div><!-- /.col -->*/ ?>
        <div class="col-xs-4">
            <button type="submit" class="btn btn-primary btn-block btn-flat">Login</button>
        </div><!-- /.col -->
    </div>
</form>

控制器(AdminLoginController.php)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class AdminLoginController extends Controller
{
    /**
     * Handle an authentication attempt for admin user.
     *
     * @return Response
     */
    public function userAuthentication(Request $request)
    {
        echo "<pre>";
            return $request;
        echo "</pre>";
    }
}

型号 (AdminLoginModel.php)

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class AdminLoginModel extends Model
{

    public function checkAuthentication()
    {
        // code
    }

}

我不知道我做的对不对,所以需要你的建议。

谢谢。

您好,欢迎来到 Laravel、

不用担心在模型和控制器之间传递数据,因此视图 laravel 具有出色的 MVC 设计,所以您只需要把它做好。

你真的很好,但最好从 laravel 开始学习 laravel Documents 你的代码不符合 laravel 标准和签名,例如创建模型这个。

laravel 服务很好Authentication。 首先,您必须了解控制器、模型、Eloquent、请求以及本例中的身份验证服务。

例如,您必须为用户创建通用模型,然后检查管理员权限:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{

}

您可以简单地将参数传递给您的模型。在您的控制器中:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\AdminLoginModel;

class AdminLoginController extends Controller
{
    /**
     * Handle an authentication attempt for admin user.
     *
     * @return Response
     */
    public function userAuthentication(Request $request)
    {
        $admin_model = new AdminLoginModel();
        $admin_model->checkAuthentication($request);
    }
}

在您的模型中:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class AdminLoginModel extends Model
{

    public function checkAuthentication($request)
    {
        // Do something with $request
        $request->input('username');
    }

}