Laravel数据库操作大全

来源:互联网 发布:山芋发芽还能吃吗 知乎 编辑:程序博客网 时间:2024/05/20 10:53
获取表单有两种方法:

第一种适合小字段用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 functionshow($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 '添加文章失败!';
}
}
----------------------这也是一种--------------------------------
publicfunctionstore(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 functionupdate($id)//更新
{
$model = new $this->model;
$model = $model->find($id);
$model->fill(Input::all());
$model->save();
return Redirect::to(action($this->controller . '@index'));
}
---------------------------------------------------------------------------------------
public functiondestroy($id)//删除
{
$model = new $this->model;
$model->destroy($id);
return Redirect::to(action($this->controller . '@index'));
}

//删除数据第一种(推荐)
public functiondestroy($id)
{
Users::findOrFail($id)->delete();
}



//删除数据第二种
public function destroy($id)
{
$re = Users::where('id',$id)->delete();
}
--------------------------------------------------------------
public function show($id)
{
return $id;
}
原创粉丝点击