小编Ken*_*ink的帖子

undefined不是一个对象(评估'_this2.props.navigation.navigate') - React Native

我真的无法让我的导航工作.我正在使用react-navigation(StackNavigator).

这是我的结构:http: //i.imgur.com/IKExx9g.png

我的导航工作原理HomeScreen.js:我导航HomeScreen.jsNewScreen.js没有问题.

App.js:

import React from 'react';
import {
    StatusBar, AppRegistry
} from 'react-native';
import {StackNavigator} from 'react-navigation';
import {HomeScreen} from './screens/HomeScreen';
import AboutScreen from "./screens/AboutScreen";
import NewScreen from "./screens/NewScreen";
import CalendarScreen from "./screens/CalendarScreen";
import AddAgendaScreen from "./screens/AddAgendaScreen";

const SimpleApp = StackNavigator({
    Home: {screen: HomeScreen},
    About: {screen: AboutScreen},
    New: {screen: NewScreen},
    Calendar: {screen: CalendarScreen},
    AddAgenda: {screen: AddAgendaScreen}
});

console.disableYellowBox = true;
StatusBar.setHidden(true);
export default SimpleApp; // Export root navigator as …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native react-navigation

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

Laravel 中的日期为 0000-00-00

我必须在现有(旧)数据库上构建 Laravel 应用程序。该数据库使用 0000-00-00 作为默认日期。我无法更改此设置,因为当前系统(也将保留)使用它来检查某些内容是否在无限时间内处于活动状态(例如:active_from0000-00-00 和active_till0000-00-00 表示它是始终处于活动状态)。

我想向现有表添加一列,因此我创建了一个迁移:add_columnname_to_tablename_tableup()在我做的函数中: $table->string('columnname'). 当我运行迁移时,我得到:

SQLSTATE[22007]:无效的日期时间格式:1292 不正确的日期时间值:第active_from1 行的列的“0000-00-00 00:00:00”。

旧系统太大,无法对此进行任何更改——而且我也不被允许更改它。

有没有办法让 Laravel 接受 0000-00-00 作为有效日期(时间)?

php mysql database laravel eloquent

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

Laravel 5:替换查询结果中的字符串(Eloquent ORM)

是否可以从表中返回所有列,但如果字符串(值)包含特定单词,则删除该单词?

例如,我有一个这样的表:

 -------------------------------------------------
| 身份证 | article_desc | article_link | 活跃 |
|----|------------------------|----------------|-------- |
| 1 | 你好,世界!| http://test.co | 0 |
| 2 | 替换词测试 | http://null.org| 1 |
 -------------------------------------------------

ReplaceWord ”应替换为“”(无)。所以 ID 2 的 article_desc 应该返回“ Test ”。

在 Laravel (Eloquent) 中有没有办法在不使用 foreach 或其他东西的情况下做到这一点?有没有内置函数?

这是我获取这些数据的控制器。

return Article::where('active', 1)->orderBy('create_date', 'desc')->get();

谢谢!

php laravel eloquent laravel-5 laravel-5.4

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

updateOrCreate 数组中的多个属性 (Eloquent)

如果还没有符合以下条件的行,我正在尝试创建一个新行:

['employee_id' => $id, 'competence_id' => $getCompetenceKey]

或者如果它已经存在,我会更新它并设置['value' => $getCompetenceValue]

所以我这样做了:

foreach($request->input('competence') as $getCompetenceKey => $getCompetenceValue) {
    EmployeeCompetence::updateOrCreate(
     ['employee_id' => $id,'competence_id' => $getCompetenceKey],
     ['value' => $getCompetenceValue]
    );
}
Run Code Online (Sandbox Code Playgroud)

但它似乎不能正常工作:

https://i.stack.imgur.com/8ndQt.png

我可以这样做:

foreach ($request->input('competence') as $getCompetenceKey => $getCompetenceValue) {
    $e = EmployeeCompetence::where('employee_id', $id)->where('competence_id', $getCompetenceKey);
    if ($e->count() > 0) {
        $e->update(['value' => $getCompetenceValue]);
    } else {
            EmployeeCompetence::create(['employee_id' => $id,
                                      'competence_id' => $getCompetenceKey, 
                                              'value' => $getCompetenceValue]);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我真的想知道为什么 updateOrCreate() 函数对我不起作用。

谢谢,

肯尼

php mysql laravel eloquent

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