在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在 …
我已经安装了 Laravel Nova(使用 Laravel 5.6)。App\Providers\NovaServiceProvider::class已在我的config/app.php档案中注册。但是当我去https://localhost:1234/nova我得到一个404错误。
我已经清除了缓存并运行了composer dump-autoload. 我怎样才能让这条路线工作?
编辑:当我运行时php artisan route:list,nova-api路线在那里,但没有路线nova。
此外,在nova:install. 我正在使用现有的 Laravel 项目。
我有一个docker-compose与服务文件python,nginx,postgres和pgadmin:
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) 是否有一个傻瓜式的正则表达式(我使用PHP)来匹配Microsoft Edge用户代理字符串?
我正在使用Laravel 5.4及其内置的Auth API。我已在users表格中添加了名为的列is_admin。我想修改登录过程,以使登录仅在时有效is_admin == 1。我查看了Illuminate\Foundation\Auth\AuthenticatesUsers.php(Github),我可以在那里进行更改,但我尽可能不打扰核心人员。有没有更优雅的方法可以做到这一点?
我正在使用 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)
正如您所看到的Home和Clients组件被包装在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 …
使用 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)
这很好用。我需要做什么才能在同一个容器中创建另一个数据库?
我在 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 …
我正在使用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错误地显示了变音符号。请参阅下面的答案。
我有 2 张桌子,projects和jobs. 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 * FROM
jobs哪里(projects。nameLIKE%测试%))
在我的JobsController.php …
php ×6
laravel ×5
docker ×3
mysql ×3
javascript ×2
csv ×1
events ×1
inner-join ×1
laravel-nova ×1
mariadb ×1
nginx ×1
pgadmin ×1
postgresql ×1
react-router ×1
reactjs ×1
regex ×1
search ×1
user-agent ×1
utf-8 ×1
vue.js ×1
vuejs2 ×1