小编Ash*_*nks的帖子

下划线绑定在IE8中不起作用

我正在使用来自underscore.js的_.bind,但是它在IE8/9中不起作用.

我理解MDN有一个解决方法(MDN Polyfill - 但不确定这是否可以应用于下划线库,或者是否在下划线本身中有此修复

我想要实现的一个例子是:

window.onload = _.bind(function() { 

     this.product.quantityListing();
}, this);
Run Code Online (Sandbox Code Playgroud)

编辑:我正在使用_.bind其他地方的实例,它在IE8中工作 - 但是当我想检查窗口已加载到IE时,它只是不工作.

javascript jquery internet-explorer-8 underscore.js

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

Laravel - 输入不通过单元测试

我在运行单元测试时收到以下错误.似乎它不喜欢传入Input :: get到构造函数,但是当在浏览器中运行脚本时,操作正常,所以我知道它不是控制器代码.如果我取出任何'task_update'代码,那么即使使用输入,测试也会通过查找传递 - 所以不确定为什么它接受一个方法的输入.

ErrorException: Argument 1 passed to Illuminate\Database\Eloquent\Model::__construct() must be of the type array, null given, called
Run Code Online (Sandbox Code Playgroud)

我的控制器是:

public function store()
{
    $task_update = new TaskUpdate(Input::get('tasks_updates'));

    $task = $this->task->find(Input::get('tasks_updates')['task_id']);

    $output = $task->taskUpdate()->save($task_update);

    if (!!$output->id) {
        return Redirect::route('tasks.show', $output->task_id)
                        ->with('flash_task_update', 'Task has been updated');
    }
}
Run Code Online (Sandbox Code Playgroud)

测试是 - 我正在设置task_updates数组的输入但是没有被选中:

    Input::replace(['tasks_updates' => array('description' => 'Hello')]);

    $mockClass = $this->mock;
    $mockClass->task_id = 1;

    $this->mock->shouldReceive('save')
               ->once()
               ->andReturn($mockClass);

    $response = $this->call('POST', 'tasksUpdates');

    $this->assertRedirectedToRoute('tasks.show', 1);
    $this->assertSessionHas('flash_task_update');
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel mockery

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

PDO准备声明

我可以快速澄清一下这个,只是我正在进行的讨论:

以此为例:

$conn->prepare ( 'SELECT * FROM table WHERE id = "' . $_POST['id'] . '"' );
Run Code Online (Sandbox Code Playgroud)

难道不是防止SQL注入,你必须绑定的参数或将进入准备语句之前消毒的价值观?或者我错了,只使用准备就可以了?

php mysql pdo

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

移动到SSL后页面加载后丢失会话

更新:

该网站现在可以在所有浏览器上运行但是现在Chrome.我觉得这很奇怪 - 自从服务器切换到拥有SSL以来,这一切都已经出现了.

作为建议,我已将其置于应用程序中:

ini_set('session.use_trans_sid', true);
ini_set('session.use_cookies', true);
ini_set('session.use_only_cookies', true);

$https = false;

if(isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] != 'off') {
    $https = true;
}

$dirname = rtrim(dirname($_SERVER['PHP_SELF']), '/') . '/';

session_name('money');
session_set_cookie_params(0, '/', $_SERVER['HTTP'], $https, true);
session_start();
Run Code Online (Sandbox Code Playgroud)

但是我仍然无法设置会话 - 应用程序基于MVC,因此根据URL中加载的页面需要控制器.

Sessions是否存在通过必需/包含文件传递的问题?

php apache ssl

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

增加数据库中的字段

我之前从未尝试或尝试过这样做,但我想要做的不是从数据库中获取值而是为了进行更新查询而添加1只是执行一次UPDATE查询并递增字段. ..

有没有办法使用JOIN查询获取当前值,然后使用新值再次更新?

因为它实际上只是递增INT数字,我认为可能有办法解决它.

php mysql

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

Laravel - 使用一对多关系插入多个项目

是否可以通过一对多关系插入多个值,以便使用外键保存多个值.

例如:我有一个'贡献者'数组,用户可以选择添加到项目中 - 保存后我希望这些贡献者可以引用刚刚保存的项目.

尝试下面的代码(数组来自$ _POST ['contribrs']这是复选框) - 它保存数据,但不附加外键.我想避免使用循环,只是能够批量插入所有这些

$this->project->find($project->id)
      ->contributers()
       ->insert(Input::only('contributers')['contributers']);
Run Code Online (Sandbox Code Playgroud)

php laravel

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