小编Glu*_*ear的帖子

在 Vue 2 中更改时传递范围输入值

在Vue 2中:我有一个App组件,它有一个Slider组件:

应用程序.vue

<template>
    <div>
        <Slider :foo="store.foo"></Slider>
    </div>
</template>

<script>
    import store from './components/store.js';
    import Slider from './components/Slider.vue';

    export default {
        name: 'app',

        components: { Slider },

        data() { 
            return {
                store: store
            }
        },

        methods: {
            changeFoo(foo) {
                console.log('change!', foo);
            },
        },
    }
</script>
Run Code Online (Sandbox Code Playgroud)

滑块.vue

<template>
    <div>
        <input type="range" min="1" max="100" step="1" @change="changeFoo" />
    </div>
</template>

<script>
    export default {
        props: ['foo'],
        methods: {
            changeFoo() {
                this.$emit('changeFoo', foo);
            }
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

问题是滑块的值没有emit在 …

javascript events vue.js vuejs2

6
推荐指数
1
解决办法
2万
查看次数

Laravel Nova,未找到路线

我已经安装了 Laravel Nova(使用 Laravel 5.6)。App\Providers\NovaServiceProvider::class已在我的config/app.php档案中注册。但是当我去https://localhost:1234/nova我得到一个404错误。

我已经清除了缓存并运行了composer dump-autoload. 我怎样才能让这条路线工作?

编辑:当我运行时php artisan route:listnova-api路线在那里,但没有路线nova

此外,在nova:install. 我正在使用现有的 Laravel 项目。

php laravel laravel-nova

6
推荐指数
3
解决办法
1万
查看次数

将 pgadmin 连接到 docker 中的 postgres

我有一个docker-compose与服务文件pythonnginxpostgrespgadmin

services:
  postgres:
    image: postgres:9.6
    env_file: .env
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5431:5431"

  pgadmin:
    image: dpage/pgadmin4
    links:
      - postgres
    depends_on:
      - postgres
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@admin.com
      PGADMIN_DEFAULT_PASSWORD: pwdpwd
    volumes:
      - pgadmin:/root/.pgadmin
    ports:
      - "5050:80"

  backend:
    build:
      context: ./foobar  # This refs a Dockerfile with Python and Django requirements
    command: ["/wait-for-it.sh", "postgres:5431", "--", "/gunicorn.sh"]
    volumes:
      - staticfiles_root:/foobar/static
    depends_on:
      - postgres

  nginx:
    build:
      context: ./foobar/docker/nginx
    volumes:
      - staticfiles_root:/foobar/static
    depends_on:
      - backend
    ports:
      - …
Run Code Online (Sandbox Code Playgroud)

postgresql nginx pgadmin docker docker-compose

6
推荐指数
2
解决办法
1万
查看次数

用户代理的Microsoft Edge正则表达式

是否有一个傻瓜式的正则表达式(我使用PHP)来匹配Microsoft Edge用户代理字符串?

php regex user-agent microsoft-edge

5
推荐指数
2
解决办法
5627
查看次数

Laravel Auth在登录前检查列

我正在使用Laravel 5.4及其内置的Auth API。我已在users表格中添加了名为的列is_admin。我想修改登录过程,以使登录仅在时有效is_admin == 1。我查看了Illuminate\Foundation\Auth\AuthenticatesUsers.phpGithub),我可以在那里进行更改,但我尽可能不打扰核心人员。有没有更优雅的方法可以做到这一点?

php authentication laravel

5
推荐指数
1
解决办法
2118
查看次数

将 React 路由渲染函数包装在 HOC 中

我正在使用 React-Router 4 创建一些路由。(它使用官方文档PrivateRoute中的组件,但这与这个问题无关。)

<HashRouter>    
    <Switch>
        <PrivateRoute exact path='/' component={Wrapper(Home)} />
        <Route exact path='/login' render={(props) => <Login authenticate={this.authenticate} {...props} />} />
        <PrivateRoute exact path='/clients' component={Wrapper(Clients)} />
    </Switch>
</HashRouter>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的HomeClients组件被包装在HOC中。目前这没有任何作用:

const Wrapper = (Page) => {
    return (props) => (
        <div className="page">
            <p>This should be on every page</p>
            <Page {...props} />
        </div>
    );
}
Run Code Online (Sandbox Code Playgroud)

这很好用。我不知道如何将Login路线包装在同一个 HOC 中。我试过了

<Route exact path='/login' render={(props) => Wrapper(<Login authenticate={this.authenticate} {...props} />)} />
Run Code Online (Sandbox Code Playgroud)

但这会返回错误:

Route.render():必须返回有效的 React …

javascript reactjs react-router higher-order-components

5
推荐指数
1
解决办法
2651
查看次数

Docker 中的多个 MariaDB 数据库

使用 Docker (v.2) 我在我的目录中设置了一个数据库docker-compose.yml

mysql:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 'test'
      MYSQL_DATABASE: 'test'
      MYSQL_USER: 'test'
      MYSQL_PASSWORD: 'test'
Run Code Online (Sandbox Code Playgroud)

这很好用。我需要做什么才能在同一个容器中创建另一个数据库?

mysql mariadb docker

5
推荐指数
1
解决办法
2万
查看次数

使用 Docker 运行 Laravel artisan 命令时连接被拒绝

我在 Docker 中运行 Laravel 5.4。这是我的docker-compose.yml文件:

version: '2'

services:
  app:
    container_name: laravel_app
    image: webdevops/php-apache-dev:ubuntu-16.04
    links:
      - mysql
    depends_on:
      - mysql
    ports:
      - 8888:80
    volumes:
      - .:/app
    environment:
      docker: 'true'
      WEB_DOCUMENT_ROOT: '/app/public'
      WEB_NO_CACHE_PATTERN: '\.(.*)$$'
      working_dir: '/app'
  mysql:
    image: mariadb:latest
    ports:
      - 8889:80
    environment:
      MYSQL_ROOT_PASSWORD: 'dev'
      MYSQL_DATABASE: 'dev'
      MYSQL_USER: 'dev'
      MYSQL_PASSWORD: 'dev'
Run Code Online (Sandbox Code Playgroud)

这是我的.env文件的相关部分:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=8889
DB_DATABASE=dev
DB_USERNAME=dev
DB_PASSWORD=dev
Run Code Online (Sandbox Code Playgroud)

我能够看到 Laravel 欢迎页面 - 事情的那一面是有效的。但是当我运行时,php artisan migrate我收到此错误:

SQLSTATE[HY000] [2002] 连接被拒绝(SQL: select * from information_schema.tables where table_schema = dev …

php mysql laravel docker docker-compose

5
推荐指数
3
解决办法
1万
查看次数

使用League / CSV导出CSV不会编码变音符号

我正在使用League / CSV软件包在Laravel 5.7中导出模型:

public function export(Request $request)
{
    $people = Person::all();
    $location = 'export.csv';
    $csv = Writer::createFromPath($location, 'w');
    $csv->setOutputBOM(Writer::BOM_UTF8);
    $csv->setDelimiter(';');
    foreach ($people as $person) {
        $csv->insertOne($this->serializePerson($person));
    }
    return response($location);
}

protected function serializePerson($person)
{
    return [
        $person->name,
        $person->age,
    ];
}
Run Code Online (Sandbox Code Playgroud)

这样就export.csv可以确定文件了,但是所有变音符的显示方式都不正确(例如??)。我本以为设置BOM可以解决此问题。有没有人有办法解决吗?

编辑:问题不是出口,是Mac Excel错误地显示了变音符号。请参阅下面的答案。

php csv byte-order-mark utf-8 laravel

5
推荐指数
1
解决办法
223
查看次数

具有内连接的 Laravel 范围

我有 2 张桌子,projectsjobs. jobs有一个名为project_id. 在 Laravel 5.2 中,我想运行一个搜索,该搜索将返回属于给定搜索词的项目的所有工作。此 SQL 有效:

SELECT jobs.*, projects.name FROM jobs INNER JOIN projects ON jobs.project_id = projects.id WHERE projects.name LIKE "%$keyword%"
Run Code Online (Sandbox Code Playgroud)

在我的Job.php模型中,我创建了一个 scope 方法,该方法出错:

public function scopeSearch($query, $keyword)
{
    if ($keyword != '') {
        $query->where(function($query) use ($keyword) {
            $query->where('projects.name', 'LIKE', '%' . $keyword . '%')->join('projects', 'jobs.project_id', '=', 'projects.id');
        });
    }
    return $query;
}
Run Code Online (Sandbox Code Playgroud)

这会产生错误:

列未发现:在1054未知列'projects.name 'where子句'(SQL:SELECT * FROMjobs哪里(projectsnameLIKE%测试%))

在我的JobsController.php …

php mysql search inner-join laravel

4
推荐指数
1
解决办法
8733
查看次数