精华内容
下载资源
问答
  • Laravel 修改操作

    2019-10-02 22:55:01
    return redirect('Student/index')->with('success','修改成功'); }else{ return redirect()->back(); } } return view('Student.update',[ 'student'=>$student ]); } 列表视图的代码: ('Student/update...
    增加路由:
    Route::any('Student/update/{id}',['uses'=>'StudentController@update']);

    控制器代码:(
    Request $request不会影响参数
    public function update(Request $request,$id){
    $student = Student::find($id);
    if($request->isMethod('POST')){
    //验证通过后继续进行
    //方法2 Validator类验证
    $validator = \Validator::make($request->input(),[
    'Student.name' => 'required|min:2|max:20',
    'Student.age' => 'required|integer',
    'Student.gender' => 'required|integer',
    ],[
    'required'=>':attribute 为必填项',
    'min' => ':attribute 长度不符合要求',
    'integer' => ':attribute 必须是一个整形',
    ],[ 'Student.name' => '姓名',
    'Student.age' => '年龄',
    'Student.gender' => '性别',
    ]);
    if($validator->fails()){
    return redirect()->back()->withErrors($validator)->withInput();
    }
    //如果验证通过,则继续执行下面的代码
    $data = $request->input('Student');
    $student->name = $data['name'];
    $student->age = $data['age'];
    $student->gender = $data['gender'];
    if($student->save()){
    return redirect('Student/index')->with('success','修改成功');
    }else{
    return redirect()->back();
    }
    }
    return view('Student.update',[
    'student'=>$student
    ]);
    }


    列表视图的代码:
    <a href="{{ url('Student/update',['id'=>$val->id]) }}">编辑</a>

    修改页面代码:
    <form method="post" action="{{ url('Student/update',['id'=>$student->id]) }}">
    {{ csrf_field() }}
    姓名 :<input type="text" name="Student[name]" value="{{ old('Student')['name']?old('Student')['name']:$student->name }}" />
    年龄 :<input type="text" name="Student[age]" value="{{ old('Student')['age']?old('Student')['name']:$student->age }}" />
    性别 :
    @foreach($student->user_sex() as $ind=>$val)
    <input type="radio" name="Student[gender]" value="{{$ind}}" {{ (old('Student')['gender']?old('Student')['gender']:$student->gender)==$ind?'checked':'' }} />{{$val}}
    @endforeach
    <input type="hidden" name="Student[id]" value="{{$student->id}}">
    <input type="submit" value="提交"/>
    </form>
     



    转载于:https://www.cnblogs.com/gyfluck/p/9072793.html

    展开全文
  • laravel项目修改时区

    千次阅读 2018-08-27 19:03:07
    在后台进行添加数据的动作之后,查看操作日志,发现时间不对! 少了8小时,这是因为PHP的时区配置不对,但是环境下的timezone是Asia/Shanghai 那就是没错的 那么要把目光转移到laravel的问题,打开项目的app.php,找到...

    文章内容请戳,谢谢!
    http://zhangzeshan.top

    展开全文
  • 主要介绍了Laravel框架Eloquent ORM修改数据操作,结合实例形式详细分析了laravel框架更新数据的两种常见操作技巧,需要的朋友可以参考下
  • Laravel-admin之修改操作日志

    千次阅读 2017-11-25 17:00:08
    以前的后台都是使用自己手写的日志,但是最近公司工作较多,修改其他项目的任务就搭在了我的...我现在要修改的则是Laravel-admin后台,要想修改操作日志,需要如下操作: 1.找到原始操作日志控制器文件LogControll...

    以前的后台都是使用自己手写的日志,但是最近公司工作较多,修改其他项目的任务就搭在了我的身上,今天用户要修改后台的操作日志界面,让登陆者可以更多地知道登录后端者的所有相关操作:包括谁修改了,谁删除了,谁审核了,谁添加了,这样才能根据相应的操作者进行相应的处罚。

    我现在要修改的则是Laravel-admin后台,要想修改操作日志,需要如下操作:

    1.找到原始操作日志控制器文件LogController.php:

    \vendor\encore\laravel-admin\src\Controllers

    2.找到原始中间件文件OperationLog.php:

    \vendor\encore\laravel-admin\src\Middleware

    3.更改配置文件的操作日志文件自动加载:

    'operation_log' = false,

    4.在\app\Http\Middleware目录下新建OperationLog.php文件,与原始文件内容一致,命名空间需要修改为:

    namespace App\Http\Middleware;

    5.在\app\Admin\Controllers目录下新建LogController.php文件,命名空间需要修改为:

    namespace app\Admin\Controllers;

    6.在\app\Admin目录下的routes.php文件中添加路由:

    $router->resource('logs', LogController::class);

    7.在\app\Http目录下的Kernel.php中添加相应的中间件信息:

    'OperationLog' => \App\Http\Middleware\OperationLog::class,

    以上步骤即可成功,然后根据需求进行对应信息的提取即可,但是添加数据时需要注意的是不要使用系统常量,否则系统常量字段无法插入成功!!!

    以上问题全部解决了,但是新增的数据无法正常插入到数据库内,经过不断的测试,最终找到解决方案:

    在\vendor\encore\laravel-admin\src\Auth\Database目录下的OperationLog.php中,

    protected $fillable = ['user_id', 'path', 'method', 'ip', 'input'];中添加相对应的字段,则添加相应的显示数据正常!问题将被解决!

    我们不要害怕问题,只要用心去解决,去寻找问题的真相,那么我们将会抵达真相的彼岸!!!

     

    展开全文
  • 我现在要修改的则是Laravel-admin后台,要想修改操作日志, 需要如下操作: 1.找到原始操作日志控制器文件LogController.php: \vendor\encore\laravel-admin\src\Controllers 2.找到原始中间件文件OperationLog....
  • 主要介绍了Laravel 手动开关 Eloquent 修改器的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Laravel的CURD操作

    2019-02-22 14:52:53
    Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。 数据库的配置文件在config目录下的database.php里。打开这个文件,找到mysql的配置项。 这里有个env,它其实是调用了laravel根...

    Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。

    数据库的配置文件在config目录下的database.php里。打开这个文件,找到mysql的配置项。

    这里有个env,它其实是调用了laravel根目录下的.env文件,这个文件存储了数据库的配置信息。打开它。修改为项目的数据库信息即可。

    
     1.新增操作
    
    新增使用的是DB类的静态方法insert(),第一个参数是sql语句,第二个参数是一个数组,数组里放要插入的数据。这里?是占位符,通过数据库接口层pdo的方式,达到防sql注入的目的。返回的是执行的结果。插入成功则返回true,否则为false$bool=DB::insert("insert into vipinfo(vip_ID,vip_name,vip_type,vip_fenshu) 
    			values(?,?,?,?)",[5,'小明','出行',670]);
    var_dump($bool);
    //新增成功则返回true。
    2. 更新操作
    更新使用的是DB类的静态方法update(),第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号。更新成功返回true$bool=DB::update('update vipinfo set vip_fenshu= ? where vip_ID= ? ',[700,5]);
    var_dump($bool);  //更新成功返回true
    4. 删除操作
    删除使用的是DB类的静态方法delete(),第一个参数是sql语句,第二个参数是一个数组,数组里的元素分别对应sql语句里的问号。返回的是删除的行数。
    
    $num=DB::delete('delete from vipinfo where vip_ID= ?',[5]);
    echo $num;
    一、数据库操作之查询构造器
    
    laravel查询构造器提供了方便流畅的接口,用来建立及执行数据库查找语法。使用了pdo参数绑定,使应用程序免于sql注入,因此传入的参数不需要额外转义特殊字符。基本上可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行。
    
    1.使用查询构造器实现增删改查
    
    同样在Student控制器里测试以下代码:
    
    (1)新增
    
    $bool=DB::table("vipinfo")->insert(['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800]);
    echo $bool;  //返回bool值
     //如果想得到新增的id,则使用insertGetId方法
      $id=DB::table("vipinfo")->insertGetId(['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800]);
      echo $id;
     //插入多条数据
     $bool=DB::table("vipinfo")->insert([
            ['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800],
            ['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800],
    ]);
    echo $bool;  //返回bool值2)修改
    
    $bool=DB::table("vipinfo")->where('vip_ID',6)->update(['vip_fenshu'=>500]);
    echo $bool;
    //自增
    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu");//自增1
    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3);//自增3
    echo $bool;
    //自减
    $bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu");//自1
    $bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu",3);//自增3
    echo $bool;
    //自增时再修改其他字段
    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3,['vip_name'=>'dbdibi']);//自增33)删除
    
    $num=DB::table("vipinfo")->where('vip_ID',6)->delete();//删除1条
    $num=DB::table("vipinfo")->where('vip_ID','>',4)->delete();//删除多条
    echo $num;  //删除的行数
    $num=DB::table("vipinfo")->truncate();//删除整表,不能恢复,谨慎使用4)查询
    
    //get()返回多条数据
    $student=DB::table("vipinfo")->get();
     var_dump($student);  
    //first()返回1条数据
    $student=DB::table("vipinfo")->first();  //结果集第一条记录
    $student=DB::table("vipinfo")->orderBy('vip_ID','desc')->first();//按vip_ID倒序排序
    var_dump($student);  
    //where()条件查询
    $student=DB::table("vipinfo")->where('vip_ID','>=',2)->get(); //一个条件   
    $student=DB::table("vipinfo")->whereRaw('vip_ID> ? and vip_fenshu >= ?',[2,300])->get(); //多个条件
    dd($student);
    //pluck()指定字段,后面不加get
    $student=DB::table("vipinfo")->pluck('vip_name');
    dd($student);
    //lists()指定字段,可以指定某个字段作为下标
    $student=DB::table("vipinfo")->lists('vip_name','vip_ID');   //指定vip_ID为下标
    dd($student);
    $student=DB::table("vipinfo")->lists('vip_name');   //不指定下标,默认下标从0开始
    //select()指定某个字段
    $student=DB::table("vipinfo")->select('vip_name','vip_ID')->get();
    dd($student);
    //chunk()每次查n条
    $student=DB::table("vipinfo")->chunk(2,function($students){  //每次查2条
        var_dump($students);
        if(.......) return false;  //在满足某个条件下使用return就不会再往下查了
    });
    2.使用聚合函数
    
    //count()统计记录条数
    $nums=DB::table("vipinfo")->count();
    echo $nums;
    //max()某个字段的最大值,同理min是最小值
    $max=DB::table("vipinfo")->max("vip_fenshu");
    echo $max;
    //avg()某个字段的平均值
    $avg=DB::table("vipinfo")->avg("vip_fenshu");
    echo $avg;
    //sum()某个字段的和
    $sum=DB::table("vipinfo")->sum("vip_fenshu");
    echo $sum;
    四、数据库操作之 - Eloquent ORM 
    
    1.简介、模型的建立及查询数据
    
    简介:laravel所自带的Eloquent ORM 是一个ActiveRecord实现,用于数据库操作。每个数据表都有一个与之对应的模型,用于数据表交互。
    
    建立模型,在app目录下建立一个Student模型,即Student.php,不需要带任何后缀。
    
    <?php
    namespace App;
    use Illuminate\Database\Eloquent\Model;
    class Student extends Model{
        //指定表名
    protected $table= 'vipinfo';
    //指定主键
    protected $primaryKey= 'vip_ID';
    }
    在Student控制器里增加一个test3方法,配置路由Route::get('test3',['uses'=>'StudentController@test3']);
    
    public function test3(){
    // all()方法查询所有数据
    $studnets=Student::all();
    dd($studnets);
    //find()查询一条,依据主键查询。findOrFail()查找不存在的记录时会抛出异常
    $student=Student::find(5);  //主键为5的记录
    var_dump($student['attributes']);
    //查询构造器的使用,省略了指定表名
    $student=Student::get();  
    var_dump($student);
    }
    2 . 新增数据、自定义时间戳、批量赋值
    
    (1)使用save方法新增
    
    laravel会默认维护created_at,updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段。如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库
    
    protected function getDateFormat(){
        return time();
    }
    这样就不需要那两个字段了。
    
    控制器里写:
    
    $student=new Student();
    //设定数据
    $student->vip_name='xiaoming';
    $student->vip_type='出行';
    $student->vip_fenshu=900;
    $bool=$student->save();  //保存
    echo $bool;
    从数据库里取得某条记录的时间戳时,默认取得的是按日期格式化好的时间戳,如果想取得原本的时间戳,则在模型里增加asDateTime方法。
    
    protected function asDateTime($val){
       return $val;
    }2)使用create方法新增时,需要在模型里增加:
    
    protected $fillable=['vip_name','vip_fenshu','vip_type'];   //允许批量赋值的字段
     控制器里写:
    
    Student::create(['vip_name'=>'mmm','vip_fenshu'=>999,'vip_type'=>'出行']);
    这样即可新增成功!
    (3firstOrCreate()以属性查找记录,若没有则新增
    
    $student=Student::firstOrCreate(['vip_name'=>'mmm']);
    echo $student;4firstOrNew()以属性查找记录,若没有则会创建新的实例。若需要保存,则自己调用save方法()
    
    $student=Student::firstOrNew(['vip_name'=>'mmm']);
    $student->save();
    echo $student;
    3.  修改数据
    
    //通过模型更新数据
    $student=Student::find(2);
    $student->vip_fenshu=10000;
    $student->save(); //返回bool值
    //通过查询构造器更新
    $num=Student::where('vip_ID','>',2)->update(['vip_fenshu'=>2000]);
    echo $num;  //返回更新的行数
    4.  删除数据
    
    //(1)通过模型删除数据
    $student=Student::find(11);
    $student->delete(); //返回bool值
    //(2)通过主键删除
     $num=Student::destroy(10); //删除主键为10的一条记录
     echo $num; //返回删除的行数
     $num=Student::destroy(10,5); //删除多条  或者$num=Student::destroy([10,5]);
     echo $num; //返回删除的行数
    
    
    展开全文
  • ... 其实这个问题好像,入行以来都是用下划线的,但是说出一个原因我也说不出来, 今天我遇到了一个比较好解释这种命名的一种,如果有更清楚的小...laravel getXXXAttribute 修改器无效 场景是我爬取亚马逊接口,亚...
  • laravel-admin操作

    2021-04-19 09:11:37
    自从15年初第一次接触 Laravel 4.2 开始,我就迷上使用 Laravel 框架了。我一直都想找个时间好好写写有关 Laravel 的使用文章,由浅入深的介绍 Laravel 框架。 今天通过使用 laravel-admin 插件,来简单说说怎么优雅...
  • 1.输入php artisan make:notification RestPassword ,在app\notification下创建 ... 然后修改 App\User: namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User ...
  • laravel的路由操作方法

    千次阅读 2019-05-16 16:42:18
    简单路由操作: 1、 利用匿名函数直接...上述路由会返回一个具有hello,world的页面(Laravel 会通过内置的响应栈和中间件对返回内容进行处理。) 2、 路由参数以及限定(where) Route::get('page/{name}', fun...
  • 起由:今天帮朋友解决了下bug,bug就是它使用laravel时候,怎样修改路由文件,都没有发生变化,但是故意在routes.php中增加语法错误时又具有错误,因此想到了可能是这个项目使用的laravel的路由缓存,而且其路由文件...
  • laravel框架数据库操作

    2020-03-28 17:39:44
    laravel框架提供两种数据库交互操作方式 1.DB类操作数据库 2.模型操作数据库 数据表的创建与配置 1.sql语句 2.图形界面 phpMyAdmin Navicat 数据库在laravel框架中的配置 在.env文件中 也可以在config目录下面的...
  • 相信对于 Laravel 提供了自动的 timestamps莞式服务让大家一定很舒服吧! 只要大家在数据库表中创建了craeted_at和updated_at字段之后, Laravel 已经准备好了给你提供各种服务了 ^^。比如说,模型继承了Eloquent...
  • 1.输入php artisan make:notification RestPassword ,在app\notification下创建 ... 然后修改 App\User: namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\U...
  • Laravel-模型操作

    千次阅读 2019-06-06 13:41:00
    一、内容介绍: ...修改器 二、内容讲解: 2.1 : model入门,数据库测试 主要是模型工厂: 创建模型手册:https://learnku.com/articles/6710/laravel-data-filling 创建模型工厂命令: php ar...
  • OAuth2.0使用的场景越来越多,如果正确使用?本文针对Laravel5进行了一些探索,将相关的操作使用流程发布出来,供大家参考。
  • Laravel 5.4 事件操作

    2018-06-13 13:34:36
    Laravel 事件机制实现了一个简单的观察者模式,让我们可以订阅和监听应用中出现的各种事件。事件类 (Event) 类通常保存在 app/Events 目录下,而它们的监听类 (Listener) 类被保存在 app/Listeners 目录下。如果...
  • Laravel 缓存操作

    2021-09-02 16:06:37
    Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。 Laravel 目前支持主流的缓存后端如 File、Memcached 和 Redis 等,默认是使用文件缓存。 env文件配置 ,推荐修改这里 config/cache....
  • Laravel5入门

    2016-03-29 17:52:30
    Laravel框架的安装见[windows下安装Laravel5] 1.Laravel路由大多数路由都将在 app/Http/routes.php 中定义,大多数基本的 Laravel 路由都只接受一个 URI 和 一个 闭包(Closure) 参数。Route::get('/','...
  • laravel cache 缓存操作

    2021-02-02 13:50:40
    laravel为不同的缓存系统提供了统一的api,缓存配置位于文件目录(config/catche.php) 主要的方法 Cache::put() 创建缓存(键,值,有效期(单位是秒)) Cache::get() 获取缓存 Cache::add() 只会在缓存项不存在的...
  • Laravel-excel操作

    千次阅读 2018-02-26 15:59:14
    参考文档:Laravel学院:http://laravelacademy.org/post/2024.html(基础操作)简书:http://www.jianshu.com/p/6deece958a30(很多骚操作,需要时在找) 一、安装及准备 使用composer安装依赖:composer require ...
  • laravel修改用户信息

    2021-08-25 14:05:29
    // 修改用户显示 Route::get('user/edit/{id}', 'UserController@edit') -> name('admin.user.edit'); // 修改用户处理 Route::put('user/edit/{id}', 'UserController@update') -> name('admin.user....
  • laravel5.8 Redis操作

    2019-08-07 16:54:00
    Redis各种操作: **字符串操作** Redis::set('key','键值');... // key存在,则不予修改。不存在则重建;set则是强制赋予和重建 Redis::setex('library', 10, 'predis'); // 存储时效;redis是存在1...
  • laravel5.6 migrate操作

    2020-08-05 16:22:35
    2.在 up 方法中添加或者修改你需要的字段 3.执行命令: php artisan migrate 打开Navicat查看,表已创建成功 二.表里添加字段 1.执行命令:php artisan make:migration alter_表名_table --table=表名 2.在 up ...
  • laravel 基本数据操作

    2017-03-12 20:26:02
    'test5' , 'title' => 'test12345' ], ]);*/ /*$bool=DB::table('test')->insertGetId(['username'=>'test123','title'=>'test123']);*/ // print_r($bool); // 修改 /*$num = DB ::table ( 'test' ) -> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,649
精华内容 3,059
关键字:

laravel5修改操作