微信相关
HDCMS / 更新于4个月前

微信相关

对微信公众号的支持我们提供了非常丰富的功能。

[TOC]

数据表

执行 artisan module:make-migration News ShopShop 模块中创建数据表 News ,并且数据表必须存在 site_idmodule_id 字段

Schema::create('news', function (Blueprint $table) {
    $table->increments('id');
    $table->string('content')->comment('回复的文本内容');
    tableForeign($table, 'sites', 'site_id');
    tableForeign($table, 'modules', 'module_id');
    $table->timestamps();
});

模型

使用 artisan module:make-model News ShopShop 模块中创建模型News ,并在模型中创建与微信关键词表的关联的函数。

public function keyword()
{
    return $this->morphOne(Keyword::class, 'model');
}

控制器

...
class TextController extends Controller
{
    public function create(Text $text)
    {
        return view('module.text.create',compact('text'));
    }

    public function store(Request $request, ChatServer $server)
    {
        $data = $request->input();
        $data['site_id'] = site()['id'];
        $data['module_id'] = module()['id'];
​
        //保存微信数据
        \DB::beginTransaction();
        $server->save(Text::create($data));
        \DB::commit();
        return redirect(module_link('module.text.index'))->with('success', '保存成功');
    }
​
    public function edit(Text $text)
    {
        return view('module.text.edit', compact('text'));
    }
​
    public function update(Request $request, Text $text, ChatServer $server)
    {
        \DB::beginTransaction();
        $text->update($request->input());
        $server->save($text);
        \DB::commit();
        return redirect(module_link('module.text.index'))->with('success', '保存成功');
    }
​
    public function destroy(Text $text)
    {
        \DB::transaction(function () use ($text) {
            $text->keyword->delete();
            $text->delete();
        });
        return back()->with('success', '删除成功');
    }
}

视图

components.keyword 为关键词组件。tag 关键词标签(模块可以根据tag做不同处理方式),model 为数据模型执行新增方法时传递空模型。

@extends('layouts.module')
@section('content')
    <form action="{{module_link('module.text.store')}}" method="post">
        @csrf
        @include('components.keyword',['tag'=>'text','model'=>$text])
        ...
        添加到模型的表单的,关键词的表单系统会自动处理
    </form>
@endsection
我们的使命:传播互联网前沿技术,帮助更多的人实现梦想
Copyright © 2010-2018 houdunren.com All Rights Reserved 京ICP备12048441号-3
: 010-86467608 : 2300071698@qq.com
编码: 海豚日记