laravel 5 如何将数据传递给控制器以进行建模
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/32478840/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
laravel 5 how to pass data to controller to model
提问by Mr.Happy
I am new for Laravel 5
and learning. Now I have created login form and I want to check if user is valid(match user from table) and take some action.
我是新手,正在Laravel 5
学习。现在我已经创建了登录表单,我想检查用户是否有效(匹配表中的用户)并采取一些措施。
Right now I am getting all form data from controller (AdminLoginController.php)
. Now I don't know how to pass to model for check if user is exists or not.
现在我正在从controller (AdminLoginController.php)
. 现在我不知道如何传递给模型以检查用户是否存在。
view (login.blade.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>
controller (AdminLoginController.php)
控制器(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>";
}
}
model (AdminLoginModel.php)
模型 (AdminLoginModel.php)
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class AdminLoginModel extends Model
{
public function checkAuthentication()
{
// code
}
}
I don't know I am doing right way or not so need your suggestion.
我不知道我做得对不对,所以需要你的建议。
Thanks.
谢谢。
回答by Iamzozo
You can simply pass parameters to your models. In your controller:
您可以简单地将参数传递给模型。在您的控制器中:
<?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);
}
}
In your model:
在您的模型中:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class AdminLoginModel extends Model
{
public function checkAuthentication($request)
{
// Do something with $request
$request->input('username');
}
}
回答by Pedram marandi
Hello and welcome to Laravel,
你好,欢迎来到 Laravel,
Don't worry about pass data between your model and controller and so views laravel have great MVC design so just you need do it right.
不要担心在你的模型和控制器之间传递数据,所以视图 laravel 有很好的 MVC 设计,所以你只需要正确地做。
You are really good, but it's better to start learning laravel from laravel Documentsyour code is out of laravel standard and signature for example creating model like this.
你真的很好,但最好从 laravel文档开始学习 laravel, 你的代码不符合 laravel 标准和签名,例如创建这样的模型。
laravel Have great Authenticationservice. at first you have to learn about Controllers, Models, Eloquent, Requests and in this case Authentication service.
laravel 有很棒的认证服务。首先,您必须了解控制器、模型、Eloquent、请求以及在本例中的身份验证服务。
for example you have to create general Model for Users and then check Administrator permission :
例如,您必须为用户创建通用模型,然后检查管理员权限:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
}