小编Chr*_*ris的帖子

更新依赖项时,Composer挂起

我尝试更新我正在使用的Laravel项目 composer update

但它坚持下去 Updating dependencies (including require-dev)

所以我尝试了更新composer,dump-autoload之类的东西,但似乎没有任何效果.然后我以详细模式运行它:composer update -vvv

我注意到它在读这个json时挂了:

Reading path/to/Composer/repo/https---packagist.org/provider-cordoval$hamcrest-php.json from cache
Run Code Online (Sandbox Code Playgroud)

我试着在packagist.org上搜索cordoval/hamcrest-php而找不到它.这不是我的依赖项composer.json

搜索我的供应商文件夹,我注意到mockery/mockery我使用的包需要hamcrest/hamcrest-php,但我找不到任何引用的包cordoval.

知道什么是错的,我怎么解决它,以便我可以做更新?

这是我的composer.json:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.2.*",
        "iron-io/iron_mq": "dev-master",
        "phpunit/phpunit": "4.2.*",
        "mockery/mockery": "dev-master",
        "xethron/migrations-generator": "dev-master",
        "mailgun/mailgun-php": "dev-master"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [ …
Run Code Online (Sandbox Code Playgroud)

json hamcrest composer-php

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

Laravel ClassLoader试图加载我的模型的旧版本

不久之后,我决定完全重做Laravel中的一个模型,但为了以防万一,我想保留文件的原始副本.所以我将它重命名为MyModel(OLD).php,并将其保留在新模型旁边的models文件夹中.

现在我对Laravel有了更好的理解,我意识到这不是一个好主意,但无论如何,一切似乎都能运作好几个月.然后今天,我对我的新模型中的一个函数做了一个小的更新(修改数据库查询),突然Laravel试图加载我的模型的旧副本.我终于将旧版本从models文件夹中移出并完全放在我的laravel应用程序之外的备份文件夹中,但现在Laravel抛出了错误:

include(pathToMyModels/MyModel (OLD).php): failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)

参考ClassLoader.php的这一部分

/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*/
function includeFile($file)
{
include $file;
}
Run Code Online (Sandbox Code Playgroud)

我尝试撤消对模型的修改,更改路由和控制器功能名称,清除laravel的缓存,清除浏览器缓存,使用不同的浏览器,但似乎没有任何工作,除了在调用它包含的类之前手动包含模型的php文件.我能做些什么才能让Laravel自动识别我的模型,就像我拥有的​​所有其他模型一样?

model laravel

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

在Vue中动态添加不同的组件

我想用Vue创建一个简单的表单生成器,其中用户单击菜单上的按钮以将不同的表单字段添加到表单。我知道,如果仅要添加一种类型的表单字段,我可以使用类似以下方法(https://jsfiddle.net/u6j1uc3u/32/)来完成:

<div id="app">
  <form-input v-for="field in fields"></form-input>

  <button type="button" v-on:click="addFormElement()">Add Form Element</button>
</div>

<script type="x-template" id="form-input">
  <div>
    <label>Text</label>
    <input type="text" />
  </div>
</script>
Run Code Online (Sandbox Code Playgroud)

和:

Vue.component('form-input', {
  template: '#form-input'
});

new Vue({
  el: '#app',
  data: {
    fields: [],
    count: 0
  },

  methods: {
    addFormElement: function() {
      this.fields.push({type: 'text', placeholder: 'Textbox ' + (++this.count)});
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

但是,如果表单字段的类型不只一种(输入,文件,选择等),该怎么办?我当时在想可能为每种类型构建一个不同的组件,但是那我将如何在单个表单元素列表中显示多种类型的组件呢?

我是否可以根据fields数组中的数据创建一个具有不同类型子组件的组件?

还是有更好的方法来解决我所缺少的这种情况?我刚刚开始学习Vue,因此对您的帮助表示感谢!

javascript components vue.js

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

Laravel在创建Eloquent对象时从空值创建默认对象

我正在尝试将对象保存到我正在网站上构建的游戏的数据库中,但我不断收到此错误:

Creating default object from empty value
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码:

    foreach( $input['items'] as $key=>$itemText ){
        $item = ($input['itemIDs'][$key] === 'NA') ? new GameItem() : GameItem::find($input['itemIDs'][$key]);
        // if updating this item, check that it is assigned to this game
        if( !is_null($item->game_id) && $item->game_id != $game->id ){ continue; }
        $item->game_id = $game->id;
        $item->item = $itemText;
        $item->answer = $input['answers'][$key];
        $item->save();
    }
Run Code Online (Sandbox Code Playgroud)

错误发生在if语句中.我尝试将其评论出来,然后错误发生在$ item-> game_id = $ game-> id; 线.

我已经var_dumped $ item和$ game,两者都是有效的Eloquent对象.我甚至var_dumped if语句的结果没有问题,所以我不知道发生了什么.

我只是注意到了

var_dump($item->toArray()); die();
Run Code Online (Sandbox Code Playgroud)

就在$ item-> save()之前; 线,它不会抛出任何错误,并告诉我阵列就好了.

那可能是什么问题呢?我想这与保存项目有关,但我根本不理解.

php laravel eloquent

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

TortoiseSVN 错误:存储库中不存在工作副本路径

我有一个我尝试使用 TortoiseSVN 提交的文件,但它给了我工作副本路径不存在的错误,我必须先更新我的工作副本。所以我尝试了多种方法:

  • 将文件恢复到以前的版本
  • 删除文件,尝试在没有它的情况下提交,然后尝试重新添加它
  • 删除我的工作目录中的整个文件夹并重新更新它
  • 打扫卫生
  • 解决任何冲突
  • 使用repo浏览器手动将文件添加到repository,然后尝试重新更新,然后通过repo浏览器重新删除

毕竟这一切,我仍然得到同样的错误。由于错误,我什至无法重新结帐:

“存储库中不存在工作副本路径‘path/to/file’。”

在这一点上,我完全没有想法。帮助!

svn tortoisesvn commit repository working-copy

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

如何在不更改颜色的情况下禁用Vuetify按钮

我正在使用Vuetify的v-btn按钮组件,并通过color道具设置了各种颜色。用户单击按钮后,我设置disabled为,true因此他们无法再次单击它,但是按钮失去了颜色并变灰。

有什么方法可以禁用按钮而不将其颜色更改为灰色?

colors button vuetify.js disable

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

如何确定模型是否在Laravel 4.2中使用软删除

如何确定模型是否在Laravel 4.2中使用软删除?

Laravel API中我找到了函数isSoftDeleting(),但显然它已经从Laravel 4.2中删除,因为它使用了SoftDeletingTrait.

我如何确定模型现在是否使用软删除?

model soft-delete laravel eloquent

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

如何让 PhpStorm 使用 Xdebug 忽略来自某个域的传入连接

因此,我在多个相互通信的域上有多个项目,所有项目都映射到我的本地 IP 127.0.0.1。使用 Xdebug 调试一个时,有时会出现一个“传入连接”弹出窗口,用于我拥有的其他项目之一。

我通常告诉它不要听那些连接,因为我只希望它听我目前正在工作的项目,但像个白痴一样,我在调试单独的 Laravel 项目时不小心接受了一个 WordPress 项目的连接.

现在每次我想调试我的 Laravel 项目,至少是它连接到 WordPress 的部分,我必须处理调试被 WordPress 的中断 wp-cron.php。我一生都无法找到一种方法来告诉 PhpStorm 不要听来自那个 WordPress 项目的连接,因为我不小心允许了它一次。

有没有办法做到这一点?

或者例如,如果我有domain1.testand domain2.test,有什么方法可以告诉 PhpStorm 只听domain1.test而不是任何其他域(或删除其他域,如果接受?)

xdebug phpstorm

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

Delve 未安装在 docker 容器中

我正在尝试将 delve 安装在我的 docker 容器中以调试 Go 应用程序。

在我的 Dockerfile 中我放入:

RUN go get github.com/go-delve/delve/cmd/dlv
Run Code Online (Sandbox Code Playgroud)

但是当我进入 docker 容器并运行时dlv它说

bash: dlv: command not found
Run Code Online (Sandbox Code Playgroud)

go get github.com/go-delve/delve/cmd/dlv我尝试通过直接在容器中运行来手动安装它。它结束时没有任何输出。但我仍然收到相同的“命令未找到”错误

看起来根本没有安装 delve。这是我的环境变量和容器内的 Go bin 目录:

root@5d8aef1f6721:/my/project# printenv | grep GO
GOFLAGS=-mod=vendor
GOLANG_VERSION=1.19.1
GOROOT=/usr/local/go
GOPATH=/go
root@5d8aef1f6721:/my/project# printenv | grep PATH
PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GOPATH=/go
root@5d8aef1f6721:/my/project# ls -la /go/bin
total 23540
drwxrwxrwx 1 root root     4096 Sep 20 10:29 .
drwxrwxrwx 1 root root     4096 Sep 20 10:28 ..
-rwxr-xr-x 1 root root 24085739 Sep 20 …
Run Code Online (Sandbox Code Playgroud)

go docker delve

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

使用Laravel 4验证多个文件上载

如何在Laravel 4中验证上传文件的数组?我已经在表单中设置它以允许多个文件,并且我已经测试了文件存在于Input :: file('files')数组中.但是如何验证每个文件?

这是我尝试过的:

$notesData = array(
            'date' => Input::get('date'),
            'files' => Input::file('files')
    );


    // Declare the rules for the form validation.
    $rules = array(
            'date'  => 'Required|date_format:Y-m-d',
            'files'  => 'mimes:jpeg,bmp,png,pdf,doc'
    );

    // Validate the inputs.
    $validator = Validator::make($notesData, $rules);

    // Check if the form validates with success.
    if ($validator->passes())
    {
        // Redirect to homepage
        return Redirect::to('')->with('success', 'Validation passed!');
    }

    // Something went wrong.
    return Redirect::to(URL::previous())->withErrors($validator)->withInput(Input::all());
Run Code Online (Sandbox Code Playgroud)

我期望Validator抱怨在数据数组中传递一组文件,但它只是通过了验证,即使我发送的文件是一个mp3.当我尝试上传多个文件时,它给出了一个无关的错误,即需要日期字段(尽管日期字段是自动填充的).

我对Laravel很新.我该怎么做才能让这个工作?

更新:我发现问题的一部分是我的upload_max_filesize和post_max_size,我修复了.我也试过动态地将文件添加到数组中,如下所示:

$notesData = array(
            'date' => Input::get('date')
    );
    $i=0;
    foreach(\Input::file('files') as …
Run Code Online (Sandbox Code Playgroud)

php laravel

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

在Vuetify.js中为输入添加多个图标

我知道如何使用append-icon属性在输入的末尾添加图标,如下所示:

new Vue({
  el: '#app'
})
Run Code Online (Sandbox Code Playgroud)
<link href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.3.8/dist/vuetify.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.3.8/dist/vuetify.min.js"></script>

<div id="app">
  <v-text-field
            label="Answer (optional)"
            append-icon="fas fa-times"
            @click:append="$emit('remove-answer')"
    ></v-text-field>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法像在Bootstrap中那样附加多个图标或按钮?

我想添加一些具有不同操作的图标,但是到目前为止,我还没有找到解决方案...

input append vue.js vuetify.js

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

在本地环境中在 Laravel 5.4 中发送邮件时,预期响应代码为 220,但收到代码“500”

我正在将 Laravel 5.0 应用程序迁移到 5.4 并尝试在我的本地环境中测试邮件。为此,我一直使用Anitix SMTP Imposter。这是我的邮件配置在我的 .env 中的样子:

MAIL_DRIVER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPT=null
Run Code Online (Sandbox Code Playgroud)

这一直适用于所有以前版本的 Laravel(4、4.2、5.0),但突然使用 5.4 我收到以下错误:

AbstractSmtpTransport.php 第 383 行中的 Swift_TransportException:预期响应代码为 220,但得到代码“500”,消息为“500 命令无法识别”

我试过禁用 Avast,使用Papercut等替代程序,使用 SSL 或 TLS 玩配置,但我无法弄清楚是什么导致了这种情况。有任何想法吗?

smtp local swiftmailer laravel

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