我正在使用迁移将字段更改为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)
任何想法如果我在这里遗失了什么?谢谢!
在我的 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 组合的所有帖子
$query = $query
->where('self', '<>', true)
->where('self', true)
->orWhereNull('self');
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的对象数组
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)
使用map函数来散布属性,但是我对如何继续此操作感到困惑。
this.translations.map(translation => {
return { ...translation }
})
Run Code Online (Sandbox Code Playgroud)我有一张桌子'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)
知道我可能做错了什么吗?谢谢
当新成员登录时,我使用 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 不是函数
知道是什么原因造成的吗?我在想,当我使用单行解决方案时,错误类型的对象被传递到状态中?
谢谢你!
我正在学习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)
我如何订阅坐标的接收,以便一旦我从第一个订阅中收到坐标后就可以渲染地图,添加标记。
我正在尝试在学习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) 在 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) 我正在使用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) 我正在开发一个 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)。
javascript ×4
laravel ×4
php ×4
ecmascript-6 ×2
mysql ×2
angular ×1
composer-php ×1
count ×1
ecmascript-5 ×1
facebook ×1
firebase ×1
flux ×1
group-by ×1
pusher ×1
reactjs ×1
repository ×1
rxjs ×1
sql ×1
vue.js ×1
vuejs2 ×1
vuex ×1