laravel框架快速入门及增删改查

一、安装laravel5.5

这里我们可以使用composer命令进行安装laravel框架

composer create-project --prefer-dist laravel/laravel blog 5.5

通过composer安装的项目,已经自动下载了相关依赖并且生成了.env文件和key,无需做其他操作。

然后,访问localhost出现以下界面即安装成功;
在这里插入图片描述

  • 目录结构 简单粗暴的介绍下目录结构,详细的可自行查阅文档;
  • App目录 应用的核心PHP代码就放到这里,除非是组件化开发,不然你的大部分业务操作代码都在这里完成;
  • Bootstrap目录 一些自动配置文件和缓存,新手不用太在意;
  • Config目录 所有的配置文件都在这了,包括数据库、邮件、缓存等等等等;
  • Database目录 数据库迁移文件及填充文件的存放目录,新手暂时不用管,后面深入讲到数据库迁移再说吧;
  • Public目录 包含一个应用入口index.php,还有前端资源文件,css,js,images,fonts等等,也是网站根目录;
  • Resources目录 除了没编译的原生资源文件外,就是视图文件了,也就是你的前端页面,要在这完成;
  • Routes目录 定义的所有路由,也就是url地址,Larave没有绝对的物理路径,所有的地址都是解析路由后,获取控制器和方法,然后通过入口文件index.php去访问;
  • Storage目录 编译后的东西、文件缓存都在这呆着;
  • Tests目录 自动化测试文件就放这;
  • Vendor目录 项目的所有依赖存放目录,如果没有,需要通过执行composer install或composer update进行安装

二、使用laravel5.5框架

首先打开laravel框架routes 目录 里有一个web.php文件
在这里插入图片描述
这就是web.php里的代码,return view(‘welcome’)就是调用的视图层
welcome前端文件就在resources目录下的views/welcome.blade.php也就是咱们进localhost那个页面的代码。
也就是在这个文件定义所有路由,也就是url地址,Larave没有绝对的物理路径,所有的地址都是解析路由后,获取控制器和方法,然后通过入口文件去访问;
了解到这些 我们就可以写增删改查基本操作了
首先laravel框架可以自己生成数据表的;
第一步:打开.env文件;
在这里插入图片描述
看上图应该就知道数据库账号密码什么的写到哪里啦吧!!!
生成数据表
1.首先生成迁移文件使用cmd命令
在这里插入图片描述
迁移文件就存放在database/migrations,实行迁移文件时如果报错的话就把以前的删掉最新生成的留下,接下来打开生成的迁移文件

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

这就是原本的迁移文件 接下来我可以修改一些字段,如下代码

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
              $table->string('name');
                $table->string('pwd');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

这里我设置了一个有3个字段的数据表迁移文件(id,name,pwd);
接下来实行迁移文件

php artisan migrate

使用这个命令生成如下数据表 后两个字段是默认生成的是创建时间及修改时间,你添加数据时自动添加当时时间;
在这里插入图片描述
就下来生成model层 在小黑框输入下面命令生成模型层

php artisan make:model User(模型名)

生成的模型层出现在app/http如下图
在这里插入图片描述
接下来我们需要完成Usermodel层
在这里插入图片描述
接下来我们生成一下控制器层

php artisan make:controller 控制器名 --resource

resource 加上这个函数自动生成的控制器会有自动生成正删改查的方法
在这里插入图片描述
这样我们的前置工作就完成了,可以写增删改查啦

1.增删改查-------------展示页面

 public function index()
    {
        $data = Users::all();//查询数据库所有数据 Users是模型层
        return view('user.show', ['data' => $data]);//展示视图层并传过去数据 user指的是视图层的目录
    }

视图层 起一个以控制器名为名的目录 (名字.blade.php)
在这里插入图片描述

  <?php  foreach($data as $key=>$value){ //foreach 循环数据进行输出?>
        <tr>
            <td><?php echo $value->id?></td>
            <td><?php echo $value->title?></td>
            <td><?php echo $value->connect?></td>
            <td>
                <a href="{{route('user.updata',$value->id)}}">修改</a>

                <a   href="{{route('user.delete',$value->id)}}" >删除</a>

                <a href="{{route('text.show',$value->id)}}">asd</a>

            </td>
        </tr>
        <?php }?>

展示页面就写好了
2.增删改查-------------添加数据

我们写一个a链接跳转到user控制器的create方法;首先我们需要去web.php页面写一个路由;

Route::resource('text','UserController');

然后我们查看一下路由都有哪些

php artisan route:list

在这里插入图片描述
自动生成了7个路由
然后我们使用route函数跳转方法(有路由才可以跳转哦)
接下来你要是想跳别的控制器或者那个方法可以参照下面的
在这里插入图片描述

 <a href="{{route('text.create')}}">新增新闻</a> //text指的是Route::resource('text','UserController');前面那个名字

这样就可以跳到controller/create方法了

public function create()
    {
        return view('user.create');
    }

然后create那个前台页面写个form表单就可以了action也可以使用route方法跳转记得有路由才可以跳哦
然后我前台跳到了下面这个方法

 public function store(Request $request)
    {
        $res = new Users();//实例化模型
        $res->title = $request->title;//$request就是我们接到的值啦 输出他的话是非常非常长的一个对象,
        $res->connect = $request->connect;
        $data = $res->save();//这样我们就添加数据库成功了
        if ($data) {
            echo "<script>alert('添加成功');location.href='/text'</script>";
        }

    }

3.增删改查-------------修改
如果修改这个跳转地址跳不过去你可以先看一下下面的删除,

     <a href="{{route('user.updata',$value->id)}}">修改</a>
     
     public function updata()
    {
        $id=$_GET;
        foreach($id as $k=>$v){
            $ids=$k;
        }
        $res = Users::findorfail($ids);//find也可以
        return view('user.updata', compact('res'));//compac就是把咱们查的得值发到前台
    }
    



updata.blade.php页面

//updata.blade.php页面
  <form action="{{route('text.update',$res->id)}}" method="post">
        {{ csrf_field() }}
        {{method_field('PATCH')}}
        <tr>
            <td>标题:</td>
            <td><input type="text" name="title" value="<?php echo $res->title?>"></td>//$res是我们刚才使用compact函数传过来的值
        </tr>
        <tr>
            <td>内容</td>
            <td><input type="text" name="connect" value="<?php echo $res->connect?>"></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="修改" ></td>
        </tr>
    </form>

form跳到如下方法


 public function update(Request $request,$id)
    {
        $res = Users::findorfail($id);
        $res->title = $request->title;//$request就是我们form表单接过来的值
        $res->connect = $request->connect;
        $data = $res->save();
        if ($data) {
            echo "<script>alert('修改成功');location.href='/text'</script>";
        }
    }

3.增删改查-------------删除
第一步肯定还是要写一个跳转的方法(如果跳转不)
在这里插入图片描述
这里没有我要跳转的方法路由所以我又添加了几条

Route::get('user/delete','UserController@destroy')->name('user.delete');

然后跳转

  <a   href="{{route('user.delete',$value->id)}}" >删除</a>

跳到下面这个方法

 public function destroy()
    {
        $id = $_GET;
        foreach($id as $k=>$v){
            $ids=$k;
        }
        $res = Users::where('id', $ids)->delete();
        if ($res) {
            echo "<script>alert('删除成功');location.href='/text'</script>";
        }
    }

删除成功;

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值