Laravel 5 获取输入请求并将其插入数据库laravel
我是Laravel框架的新粉丝。您能告诉我如何在我的post方法中获取输入,并将其作为atribute'cli'插入我的表'demandes'中吗Laravel 5 获取输入请求并将其插入数据库laravel,laravel-5,Laravel 5,我是Laravel框架的新粉丝。您能告诉我如何在我的post方法中获取输入,并将其作为atribute'cli'插入我的表'demandes'中吗 class DemandeController extends Controller { protected $demandeRepository; protected $demandeGestion; protected $compteRepository; protected $nbrPerPage = 4;
class DemandeController extends Controller
{
protected $demandeRepository;
protected $demandeGestion;
protected $compteRepository;
protected $nbrPerPage = 4;
public function search(SearchRequest $request)
{
$mc = $request->input('mc');
$demandes = $this->demandeRepository->search($mc);
$links = $demandes->render();
$etape = $request->input('etape');
return view('demandes.liste', compact('demandes', 'links'))->with('etape',$etape);
}
public function update(DemandeRequest $request, $id)
{
$user = Auth::user();
$inputs = $this->demandeGestion->get_inputs($request,$user);
$demande= $this->demandeRepository->update($id, $inputs);
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
//return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
}
public function store(DemandeRequest $request)
{
$user = Auth::user();
$inputs = array_merge($request->all(), ['user_id' => $user->id]);
$demande = $this->demandeRepository->store($inputs);
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été créé.");
}
提前感谢:)
Dido我通常在处理数据时尝试使用。如果你能做到的话,我会用一个模型来做
Laravel文件夹/app/Demande.php
use Illuminate\Database\Eloquent\Model;
class Demande extends Model {
}
示例将请求存储在Laravel文件夹/app/Http/Controllers/demandeconcontroller.php中
<?php
namespace App\Http\Controllers;
// Models
use App\Demande;
use Auth;
use App\Http\Requests;
use Illuminate\Http\Request;
class DemandeController extends Controller
{
public function store(Request $request)
{
$demande = new Demande;
$demande->cli = $request->cli;
$demande->objet = $request->objet;
$demande->user_id = Auth::id();
$demande->some_other_attribute = $request->some_other_attribute;
$demande->save();
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été créé.");
}
}
我通常尝试在处理数据时使用。如果你能做到的话,我会用一个模型来做
Laravel文件夹/app/Demande.php
use Illuminate\Database\Eloquent\Model;
class Demande extends Model {
}
示例将请求存储在Laravel文件夹/app/Http/Controllers/demandeconcontroller.php中
<?php
namespace App\Http\Controllers;
// Models
use App\Demande;
use Auth;
use App\Http\Requests;
use Illuminate\Http\Request;
class DemandeController extends Controller
{
public function store(Request $request)
{
$demande = new Demande;
$demande->cli = $request->cli;
$demande->objet = $request->objet;
$demande->user_id = Auth::id();
$demande->some_other_attribute = $request->some_other_attribute;
$demande->save();
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été créé.");
}
}
非常感谢您的回复。因此,不幸的是,它不起作用,因为我还在我的文件DemandeRepository中定义了函数store()
public function store($inputs)
{
$demande = new $this->demande;
$this->save($demande, $inputs);
return $demande;
}
private function save(Demande $demande, Array $inputs)
{
$demande->objet = $inputs['objet'];
$demande->save();
}
我的模型:
class Demande extends Model
{
protected $fillable = ['objet','etude','user_id','role','mc','num_tf','val_exp','nom_exp','nom_gar'];
public function user()
{
return $this->belongsTo('App\User');
}
}
class User extends Authenticatable
{
use Notifiable;
use AdldapUserModelTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'username', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function demandes(){
return $this->hasMany('App\Demande');
}
}
我的文件请求:
class DemandeRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'objet' => 'required|max:80',
];
}
}
public function update(DemandeRequest $request, $id)
{
$user = Auth::user();
$inputs = $this->demandeGestion->get_inputs($request,$user);
$demande= $this->demandeRepository->update($id, $inputs);
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
//return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
}
我的班级需要消化
class DemandeGestion
{
protected $demande;
public function __construct(Demande $demande)
{
$this->demande = $demande;
}
public function get_inputs(DemandeRequest $request, User $user){
if($user->role=='ETUDE'){
$inputs = array_merge($request->all(), ['user_id' => $user->id,'etat' => $user->role]);
}else{
$inputs = array_merge($request->all(), ['user_id' => $user->id]);
}
return $inputs;
}
}
非常感谢您的回复。因此,不幸的是,它不起作用,因为我还在我的文件DemandeRepository中定义了函数store()
public function store($inputs)
{
$demande = new $this->demande;
$this->save($demande, $inputs);
return $demande;
}
private function save(Demande $demande, Array $inputs)
{
$demande->objet = $inputs['objet'];
$demande->save();
}
我的模型:
class Demande extends Model
{
protected $fillable = ['objet','etude','user_id','role','mc','num_tf','val_exp','nom_exp','nom_gar'];
public function user()
{
return $this->belongsTo('App\User');
}
}
class User extends Authenticatable
{
use Notifiable;
use AdldapUserModelTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'username', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function demandes(){
return $this->hasMany('App\Demande');
}
}
我的文件请求:
class DemandeRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'objet' => 'required|max:80',
];
}
}
public function update(DemandeRequest $request, $id)
{
$user = Auth::user();
$inputs = $this->demandeGestion->get_inputs($request,$user);
$demande= $this->demandeRepository->update($id, $inputs);
return redirect('demande')->withOk("Le dossier " . $demande->objet . " a été modifié.");
//return redirect('demandes.liste')->withOk("Le dossier " . $request->input('objet') . " a été enregistrée.");
}
我的班级需要消化
class DemandeGestion
{
protected $demande;
public function __construct(Demande $demande)
{
$this->demande = $demande;
}
public function get_inputs(DemandeRequest $request, User $user){
if($user->role=='ETUDE'){
$inputs = array_merge($request->all(), ['user_id' => $user->id,'etat' => $user->role]);
}else{
$inputs = array_merge($request->all(), ['user_id' => $user->id]);
}
return $inputs;
}
}