Laravel 安装(2)Laravel-Admin 数据库表的CURD

我的目的当然是要学习Laravel-admin啊,
安装完Laravel、admin后,后,看看怎么配置数据库表的CURD

创建数据库表

在wamp的phpmyadmin的blog库中创建表

CREATE TABLE `blog`.`jyxx` ( 
`id` INT NOT NULL AUTO_INCREMENT COMMENT 'ID' , 
`jyxh` INT NOT NULL COMMENT '交易序号' , 
`jyrq` TIMESTAMP NOT NULL COMMENT '交易日期' , 
`jyjf` VARCHAR(40) NOT NULL COMMENT '交易甲方' , 
`jyyf` VARCHAR(40) NOT NULL COMMENT '交易乙方' , 
`jyzt` VARCHAR(80) NOT NULL COMMENT '交易主题' , 
`jyje` DECIMAL(10.2) NOT NULL COMMENT '交易金额' , 
`jyxs` VARCHAR(10) NOT NULL COMMENT '交易形式' , 
`jynr` VARCHAR(200) NOT NULL COMMENT '交易内容' , 
`jyjj` TEXT NOT NULL COMMENT '交易简介' , 
PRIMARY KEY (`id`)) ENGINE = InnoDB COMMENT = '交易信息'; 

注意:数据库的第一列为id,这样在数据的编辑和显示时将使用id列作为索引和参数
如果不用id这列,好要继续学习

在界面上添加访问连接

在这里插入图片描述

选择左侧Admin下面的menu(菜单管理)-> 然后在右侧添加信息
标题:交易信息
路径:jyxxes(是数据库名字的复数)
注意:这里应该就是jyxxes,注意这里要加es

创建Model

>php artisan make:model Jyxx
Model created successfully.

将会在blog\app\Models下面创建一个Jyxx.php文件
名字为数据库名,首字母大写,注意:首字母大写

编辑blog\app\Models\Jyxx.php,在后面加上
protected $table = ‘Jyxx’;
public $timestamps = false;

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Jyxx extends Model
{
    use HasFactory;
	protected $table = 'Jyxx';
	public $timestamps = false;
}

注意:updated_at, created_at 这两个字段是缺省时Laravel-Admin要添加到表的更新等操作中的,
添加了public $timestamps = false;后则会取消这个列的操作。
如果不添加这个,那么就在表的最后加上这两列。

创建Controller

>php artisan admin:make JyxxController --model=App\Models\Jyxx
App\Admin\Controllers\JyxxController created successfully.

Add the following route to app/Admin/routes.php:

    $router->resource('jyxxes', JyxxController::class);

控制器名字为Model名字加上Controller,后面的model参数,就是上面刚刚创建的Model

然后编辑这个文件app\Admin\Controllers\JyxxController.php,定制一下列表、新增和详情时的式样

protected function grid()
{
    $grid = new Grid(new Jyxx());

    $grid->jyxh('交易序号')->sortable();
    $grid->jyrq('交易日期')->sortable();
	$grid->jyjf('交易甲方');
	$grid->jyyf('交易乙方');
	$grid->jyzt('交易主题');

    return $grid;
}

上面是列表时的式样

protected function detail($id)
{
    $show = new Show(Jyxx::findOrFail($id));

	    $show->jyxh('交易序号');
	    $show->jyrq('交易日期');
		$show->jyjf('交易甲方');
		$show->jyyf('交易乙方');
		$show->jyzt('交易主题');
	    $show->jyje('交易金额');
		$show->jyxs('交易形式');
		$show->jynr('交易内容');
		$show->jyjj('交易简介');

    return $show;
}

上面是显示时的式样

protected function form()
{
    $form = new Form(new Jyxx());

		$form->number('jyxh', '交易序号');
		$form->datetime('jyrq', '交易日期');
		$form->text('jyjf','交易甲方');		
		$form->text('jyyf','交易乙方');
		$form->text('jyzt','交易主题');
		$form->decimal('jyje','交易金额');
		$form->radio('jyxs', __('交易形式'))
        ->options(['网签' => __('网签'), '纸质' => __('纸质')]);
		$form->text('jynr','交易内容');
		$form->textarea('jyjj','交易简介');

    return $form;
}

上面是新增时的式样
注意:针对form中字段还有image、color、ip、url等样式,估计得仔细看文档

定制路由

编辑app/Admin/routes.php文件
在后面增加$router->resource(‘jyxxes’, JyxxController::class);这个路由导航
routes.php的内容为

<?php

use Illuminate\Routing\Router;

Admin::routes();

Route::group([
    'prefix'        => config('admin.route.prefix'),
    'namespace'     => config('admin.route.namespace'),
    'middleware'    => config('admin.route.middleware'),
    'as'            => config('admin.route.prefix') . '.',
], function (Router $router) {

    $router->get('/', 'HomeController@index')->name('home');
  	$router->resource('jyxxes', JyxxController::class);

});

测试

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

附 完整的app\Admin\Controllers\JyxxController.php

<?php

namespace App\Admin\Controllers;

use App\Models\Jyxx;
use Encore\Admin\Controllers\AdminController;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;

class JyxxController extends AdminController
{
    /**
     * Title for current resource.
     *
     * @var string
     */
    protected $title = '交易信息库';

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new Jyxx());

	    $grid->jyxh('交易序号')->sortable();
	    $grid->jyrq('交易日期')->sortable();
		$grid->jyjf('交易甲方');
		$grid->jyyf('交易乙方');
		$grid->jyzt('交易主题');

        return $grid;
    }

    /**
     * Make a show builder.
     *
     * @param mixed $id
     * @return Show
     */
    protected function detail($id)
    {
        $show = new Show(Jyxx::findOrFail($id));

	    $show->jyxh('交易序号');
	    $show->jyrq('交易日期');
		$show->jyjf('交易甲方');
		$show->jyyf('交易乙方');
		$show->jyzt('交易主题');
	    $show->jyje('交易金额');
		$show->jyxs('交易形式');
		$show->jynr('交易内容');
		$show->jyjj('交易简介');

        return $show;
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new Jyxx());

		$form->number('jyxh', '交易序号');
		$form->datetime('jyrq', '交易日期');
		$form->text('jyjf','交易甲方');		
		$form->text('jyyf','交易乙方');
		$form->text('jyzt','交易主题');
		$form->decimal('jyje','交易金额');
		$form->radio('jyxs', __('交易形式'))
        ->options(['网签' => __('网签'), '纸质' => __('纸质')]);
		$form->text('jynr','交易内容');
		$form->textarea('jyjj','交易简介');

        return $form;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值