前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用yii2进行(curd)接口开发(普通类型)整个流程:

用yii2进行(curd)接口开发(普通类型)整个流程:

作者头像
贵哥的编程之路
发布2021-11-18 15:38:39
4940
发布2021-11-18 15:38:39
举报

第一步:

在这里插入图片描述
在这里插入图片描述

理解这里的意思. 第二步: 写自己的域名. 比如http://www.demonstration.com.(本地地址的哈)。 在nginx里面新建一个文件demonstration.php(直接复制粘贴)

代码语言:javascript
复制
server {
    listen 80;
    charset utf-8;
    server_name www.demonstration.com;
    access_log C:/Wnmp/logs/demonstration_access.log;

    set  $webroot C:/Wnmp/html/demonstration/frontend;
     root $webroot/web;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
		try_files  $uri =404;
		fastcgi_pass   php_processes;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
		include        fastcgi_params;
    }

    location ~ ^/(js|css|images|image|files)/ {
		root $webroot;
		expires 1h;
		log_not_found off;
		access_log off;
    }

    location ~ ^/(attachments)/ {
        root $webroot;
		expires 1h;
		log_not_found off;
		access_log off;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}

第三步:在frontend/config/新建一个路由文件.名字为(rules.php)复制粘贴.

代码语言:javascript
复制
<?php
/**
 * Created by PhpStorm.
 * User: Chan
 * Date: 2018/6/8
 * Time: 14:14
 */

use yii\rest\UrlRule;

return [
    [
        'class'=>UrlRule::class,
        'controller'=>'navigation',
        'extraPatterns' =>[
            'form'=>'form',
        ],
    ],
];

第四步:在frontend/controllers里面新建一个文件.NavigationController.php

代码语言:javascript
复制
<?php
namespace frontend\controllers;
use common\models\Form;

class NavigationController extends Controller
{

//增加
   public function actionForm()
    {
        $form=new Form();
        $datetime = new \DateTime;
        $request = \Yii::$app->request;
        $form->name = $request->post("name");
        $form->phone= $request->post("phone");
        $form->address = $request->post("address");
        $form->time =$datetime->format('Y-m-d H:i:s');
        if($form->save())
        {
            return $this->data(['form'=>$form],"保存成功",0);
        }
        else
        {
            return $this->error("保存失败");
        }

    }//查询
   public  function actionIndex()
    {
        $gets = \Yii::$app->db->createCommand('SELECT * FROM form')
            ->queryAll();
        if($gets)
        {
            return $this->data($gets,"查询成功",0);
        }
        else
        {
            return $this->error("查询失败");
        }
    }//删除
    public  function actionDelete($id)
    {
        $form = Form::findOne([ 'id' => $id ]);
        if($form==null)
        {
            return $this->error('抱歉,这条数据在数据表是里面是没有的,不能删除!');
        }
        if($form->delete())
        {
            return $this->msg("删除成功");
        }
        else
        {
            return $this->error("数据不存在或已经删除!");
        }

    }//更新
  public function actionUpdate($id)

  {//前端的数据
      //第一步:先链接数据库看看表里有没有这条数据
      $id1= \Yii::$app->db->createCommand("SELECT * FROM form where id=$id")->queryOne();
      if(!$id1)
      {
          return $this->error("抱歉,这条数据在数据表是里面是没有不能更新!");
      }
      //第二步,数据表里面有这条数据怎么进行二次更新也能行,重复更新也能行
      else
      {$datetime = new \DateTime;
      $request = \Yii::$app->request;
      $name = $request->getBodyParam("name");
      $phone= $request->getBodyParam("phone");
      $address = $request->getBodyParam("address");
      $time =$datetime->format('Y-m-d H:i:s');
      //自己数据库里面的数据

     $result= \Yii::$app->db->createCommand()->update("{{%form}}",[
            'name'=>$name,
            'phone'=>$phone,
          "address"=>$address,
          "time"=>$time,
          'id'=>$id
      ],['id'=>$id])->execute();


          return $this->msg("更新成功");
  }}


}

mysql表结构:

在这里插入图片描述
在这里插入图片描述

第五步: 自动生成一个form.php在commom/model/文件下. 怎么运行呢?增加

在这里插入图片描述
在这里插入图片描述

查询:

在这里插入图片描述
在这里插入图片描述

删除;

在这里插入图片描述
在这里插入图片描述

更新:

在这里插入图片描述
在这里插入图片描述

postman里面的数据

在这里插入图片描述
在这里插入图片描述

核心在于: 创建需要放数据,查询不用。更新用。删除不用.(因为删除是删除数据库中的某一条数据). 更新是必须数据库里面有的才能更新!!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档