小编Mig*_*ens的帖子

Laravel Migration:外键约束不正确

我正在使用迁移将字段更改为nullable(),使用以下代码.

$table->integer('recipe_id')->nullable()->change();    
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误.

SQLSTATE[HY000]: General error: 1025 Error on rename of './blackfisk/#sql-2
2d_a' to './blackfisk/preparations' (errno: 150 "Foreign key constraint is
incorrectly formed") (SQL: ALTER TABLE preparations CHANGE recipe_id recipe
_id INT DEFAULT NULL)
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用外键设置为0

    \DB::statement('SET FOREIGN_KEY_CHECKS=0');
Run Code Online (Sandbox Code Playgroud)

但它给出了同样的错误.当我尝试在Sequel Pro中运行查询时,我也会使用以下查询获得此错误.

SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE preparations CHANGE recipe_id recipe_id INT DEFAULT NULL;
SET FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)

任何想法如果我在这里遗失了什么?谢谢!

php mysql laravel

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

Laravel 与 if else 的位置

在我的 Laravel 项目中,我正在构建一个带有一些条件的查询。有一个问题我无法解决

我有一个查询如下

$query = SocialMediaFeed::where('location_id', $location_id);
Run Code Online (Sandbox Code Playgroud)

现在有一些 feed 项目的 'self' = true.. 这些应该首先从结果中被忽略,除非存在 $filters 数组。

if(!$filters) {
    $query = $query->where('self', '<>', true);
}
Run Code Online (Sandbox Code Playgroud)

现在我想知道,如果有过滤器,它应该包括当 self 不等于 true 时我得到的数据,而且还应该包括 self 不等于 true 时的数据。

我尝试了以下操作,但这仅返回 self=true 帖子,而不是与 self=true 组合的所有帖子

$query = $query
    ->where('self', '<>', true)
    ->where('self', true)
    ->orWhereNull('self');
Run Code Online (Sandbox Code Playgroud)

php query-builder laravel

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

从数组中的多个对象过滤属性

我有一个看起来像这样的对象数组

const data = [
    {id: 1, locale: 'en'},
    {id: 2, locale: 'nl'}
]
Run Code Online (Sandbox Code Playgroud)

现在,我试图过滤掉数组中每个项目的locale属性(不要永久删除它,只需将其过滤掉一次),因此我的数据在理想情况下类似于此:

const data = [
    {id: 1},
    {id: 2}
]
Run Code Online (Sandbox Code Playgroud)

我试过了

javascript ecmascript-5 ecmascript-6

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

来自连接表的SQL计数

我有一张桌子'lijsten',一张桌子'werknemerlijsten'和一张桌子'类别'.

现在我正在使用Query来获取计数

SELECT id, naam, beschrijving, count(wl.werknemer_id) as aantal
FROM lijsten l
LEFT JOIN werknemerlijsten wl
ON l.id = wl.lijst_id
GROUP BY l.naam
ORDER BY naam
Run Code Online (Sandbox Code Playgroud)

但是当我从另一个表中尝试使用另一个计数的相同查询时,结果是错误的.

SELECT l.id, l.naam, beschrijving, count(c.lijst_id) as aantal_cat, count(wl.lijst_id)    as aantal_lijst
FROM lijsten l
LEFT JOIN werknemerlijsten wl ON l.id = wl.lijst_id
LEFT JOIN categorieen c ON l.id = c.lijst_id
GROUP BY l.naam
ORDER BY naam
Run Code Online (Sandbox Code Playgroud)

知道我可能做错了什么吗?谢谢

mysql sql group-by count

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

Reactjs 添加一个对象到状态

当新成员登录时,我使用 Reactjs 来填充state.users 。

以下代码正在运行

var users = this.state.users;
users.push(member);
this.setState({users: users});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将所有内容包装在一行代码中时,它失败了

this.setState({users: this.users.state.push(member)});
Run Code Online (Sandbox Code Playgroud)

当我尝试上述操作时,我的 list.jsx 中出现错误

未捕获的类型错误:this.props.users.map 不是函数

知道是什么原因造成的吗?我在想,当我使用单行解决方案时,错误类型的对象被传递到状态中?

谢谢你!

javascript flux pusher reactjs

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

Angular 2,在收到坐标时订阅

我正在学习Angular2。我正在使用带有Observable的LocationService,它在一段时间后将坐标传递给我。这是我的代码。

location.service.ts

public getLocation(): Observable<any> {
    return Observable.create(observer => {
        if(window.navigator && window.navigator.geolocation) {
            window.navigator.geolocation.getCurrentPosition(
                (position) => {
                    observer.next(position);
                    observer.complete();
                },
                (error) => observer.error(error)
            );
        } else {
            observer.error('Unsupported Browser');
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

app.component.ts

ngOnInit() {
    this.location.getLocation().subscribe((coordinates) => {
        this.lat = coordinates.coords.latitude;
        this.lng = coordinates.coords.longitude;
    });
}
Run Code Online (Sandbox Code Playgroud)

我如何订阅坐标的接收,以便一旦我从第一个订阅中收到坐标后就可以渲染地图,添加标记。

javascript rxjs angular2-observables angular

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

Vuex,改变动作中的状态

我正在尝试在学习Vuex的同时将代码编写为"良好实践".

根据我的学习,我认为Actions用于执行外部API调用,其结果通过commit()传递给Mutation.

现在我想为Firebase上的某个用户增加一个计数器.当我像这样编码我的动作时,这是有效的

    ADD_CREDIT(context, user) {

        user.credits++;

        firebase.database().ref('users').child(user.id)
            .update({credits: user.credits})
            .then(() => {});

    }
Run Code Online (Sandbox Code Playgroud)

所以在我的操作中,我已经在调用API调用之前更新了状态.这是好习惯吗?我使用以下代码尝试了另一种方式,但这看起来很复杂..而且它现在不起作用.

行动

ADD_CREDIT({commit, state}, user) {

        const newcredits = user.credits + 1;

        firebase.database().ref('users').child(user.id)
            .update({credits: newcredits})
            .then(() => {
                commit('CREDIT_CHANGED', user.id, newcredits)
            });

    }
Run Code Online (Sandbox Code Playgroud)

突变

CREDIT_CHANGED(state, userid, newcredits) {
        let user = state.users.find(user => {
            return user.id = userid
        });

        user.credits = newcredits;
    }
Run Code Online (Sandbox Code Playgroud)

firebase vue.js firebase-realtime-database vuex vuejs2

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

从其他对象填充对象中的字段

在 Javascript (ES6) 中有两个带有数据的对象。

const template = {
    a: '',
    b: '',
    x: ''
}
Run Code Online (Sandbox Code Playgroud)

这是我将收到的数据对象

const data = {
    a: 'test',
    b: 'test',
    c: 'test'
}
Run Code Online (Sandbox Code Playgroud)

如何将数据从我收到的对象映射到我的模板对象,而不允许模板对象中不存在的值。

所以结果应该是这样。

const result = {
    a: 'test',
    b: 'test',
    x: ''
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

Facebook API从Feed获取帖子详细信息

我正在使用PHP Facebook API(与laravel一起使用)

我可以设法从页面获取Feed,并使用它的所有帖子

    $request = Facebook::get('/COMPANYPAGE?fields=feed.limit(25)');
    $response = $request->getGraphPage()->getField('feed');
Run Code Online (Sandbox Code Playgroud)

这将返回以下对象

在此输入图像描述

但我似乎无法获得该帖子的具体信息!像所包含的图像..我需要执行另一个电话吗?

我试过以下但它给了我相同的结果

    $request = Facebook::get('/elbeko?fields=feed.limit(25)');
    $response = $request->getGraphPage()->getField('feed');

    foreach($response as $item) {
        $post = Facebook::get($item['id'])->getGraphObject();
    }
Run Code Online (Sandbox Code Playgroud)

php facebook laravel

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

Composer 本地存储库未安装(对于 Laravel)

我正在开发一个 Laravel 包,我尝试使用composer.json 中的 VCS 选项将其添加到我的项目中,但它没有安装。我尝试过以下方法

链接到我的 Vagrant 机器上的绝对路径

"repositories": [
    {
        "type": "vcs",
        "url": "/home/vagrant/Code/cld/gallery/packages/Notflip/cld/"
    }
],
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "notflip/cld": "dev-master"
},
Run Code Online (Sandbox Code Playgroud)

链接到我的 Windows 机器的绝对路径

"repositories": [
    {
        "type": "vcs",
        "url": "D:/Sites/cld/gallery/packages/Notflip/cld"
    }
],
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "notflip/cld": "dev-master"
},
Run Code Online (Sandbox Code Playgroud)

但没有任何作用,该项目位于以下位置:

在此输入图像描述

我在 Windows 机器上使用 Vagrant (Homestead)。

php repository laravel composer-php

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