Laravel数据库操作大全

获取表单有两种方法:
 
第一种适合小字段用Request $request
用save()方法保存
public function Login(Request $request)
{
$input = new Admin;
$input->Name = $request->Name;
if ($input->save()) {
return ['status' => 1, 'msg' => '保存成功'];
return redirect('admin/system');
} else {
return ['status' => 1, 'msg' => '保存失败'];
}
}
批量插入数据库(获取了所有表单字段且表单名须与数据库字段名相同):
$input = Input :: all ()//适合表单提交
$input = Input::except('_token'); //适合js提交
 
 
两种获取表单字段的方法:
 
public function Login()
{
dd(Input::get('code'));
dd($request->cod);//第二种要加Request $request
}
 
 
数据库表单验证插入:
public function store(Request $request){
 
$input = Input::except('_token');
$rules = [
'Name'=>'required',
'Password'=>'required',
];
$message = [
'Name.required'=>'名称不能为空!',
'Password.required'=>'密码不能为空!',
 
];
 
$validator = Validator::make($input,$rules,$message);
 
if($validator->passes()){
 
$input = new Admin;
$input->Name = $request->Name;
$input->Password = $request->Password;
$input->Iimit_id = $request->Iimit_id;
 
if($input->save()){
//echo "添加成功";
return redirect('admin/system');
}else{
return back()->with('errors','失败,请稍后重试!');
}
}else{
return back()->withErrors($validator);
}
 
 
 
 
 
 
//获取数据并排序 (方法一)显示全部
public function index()
{
$data = Users::orderBy('id','asc')->get();
return $data;
}
//获取全部数据(方法二)
public function index()
{
$data =All();
return $data;
}
---------------------------------------------------------------------------------------
//根据ID查询数据
public function show($id)
{
$article = Article::findOrFail($id);
return view('articles.show',compact('article'));
}
------------------------------------------------------------------------------------------
多字段数据库批量插入两种方式:参考网站:(批量插入表单名必须与数据库字段名相同) http://laravelacademy.org/post/984.html
第一种 save() 方法:
public function store(Request $request) {
 
$input = new Activity;
$input->act_Name = $request->Name;
$input->act_Time = time();
 
if ($input->save()) {
echo '添加文章成功!';
return redirect('admin/activity');//成功跳转
} else {
echo '添加文章失败!';
}
}
----------------------这也是一种--------------------------------
public function store (Request $request ) { $name = $request ->input ( 'name' );
---------------------------------------------------------------
第二种 create() 方法: 需要在模型里设置白名单:protected $fillable=['act_Name'];
public function store() {
$input = [
'act_Name' => Input::get('Name'),
];
$post = Activity::create($input);
$post->act_Time = time();//这是没有被设置在白名单,的字段可加在这里
if($post->save()){
echo '添加文章成功!';
return redirect('admin/activity');
}else{
echo '添加文章失败!';
}
}
 
批量更新:
public function update($act_id) {
$input = [
'act_Name' => Input::get('Name'), //get获取表单字段值
];
$post = Activity::find($act_id);
if($post->update($input)){
echo '更新文章成功!';
dd($post);
}else{
echo '更新文章失败!';
}
}
 
-----------------------------------------------------------------------------------------------------------------
少字段数据库批量插入更新方式: 需要在数据库设置两个字段:created_at timestamp updated_at timestamp
//插入
public function store() {
$input = Input::except('_token');
$info=Article::create($input);
$info->art_time = time();
if ($info->save()) {
echo '添加文章成功!';
return redirect('admin/article');
} else {
echo '添加文章失败!';
}
}
 
//更新
---------------这也是一种-----------------------------
public function update(Request $request,$id) { // }
 
public function update($art_id)//更新
{
$info = new Article;
$info = Article::find($art_id);
$info->fill(Input::all());//更新全部字段
if ($info->save()) {
echo '更新成功!';
return redirect('admin/article');
} else {
echo '更新失败!';
}
}
 
//数据库插入
create 方法保存一个新的模型。该方法返回被插入的模型实例。但是,在此之前,你需要指定模型的 fillable 或 guarded 属性,因为所有 Eloquent 模型都通过批量赋值(Mass Assignment)进行保护。
public function create()
{
return View::make('form.create', []);
}
----------------------------------------------------------------------------------------------
public function store(Request $request) //插入
{
// 验证请求...
 
$flight = new Flight;
 
$flight->name = $request->name;
 
$flight->save();
}
------------------------------------------------------------------------------------------
public function edit($id) //编辑
{
$model = new $this->model;
$model = $model->find($id);
return View::make('form.edit', compact('model'));
}
-----------------------------------------------------------------------------------------------
public function update($id)//更新
{
$model = new $this->model;
$model = $model->find($id);
$model->fill(Input::all());
$model->save();
 
return Redirect::to(action($this->controller . '@index'));
}
---------------------------------------------------------------------------------------
public function destroy($id)//删除
{
$model = new $this->model;
$model->destroy($id);
 
return Redirect::to(action($this->controller . '@index'));
}
 
//删除数据第一种(推荐)
public function destroy($id)
{
Users::findOrFail($id)->delete();
}
 
 
 
//删除数据第二种
public function destroy($id)
{
$re = Users::where('id',$id)->delete();
}
--------------------------------------------------------------
public function show($id)
{
return $id;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值