小编Jam*_*mie的帖子

Laravel无法添加外键约束

当我尝试在Laravel 5中通过迁移设置外键约束时,收到错误消息:

[Illuminate \ Database \ QueryException] SQLSTATE [HY000]:常规错误:1215无法添加外键约束(SQL:在删除级联上,alter table rittenregistratie添加合作rittenregistratie_karakterrit_id_foreign外键(karakterrit_id)引用karakterritid))[PDOException] SQLSTATE [HY000]:常规错误:1215无法添加外键约束D:\ wamp \ www>

但是我现在知道为什么了吗???迁移顺序正确,为什么我会收到此错误?表rittenregistratie具有一个名为karakterrit_id的外键,这是表karakterrit中的主键。

这是我的迁移rittenregistratie:

 public function up()
    {
        Schema::create('rittenregistratie', function (Blueprint $table) 
        {
            $table->increments('id');
            $table->integer('user_id')->unsigned();
            $table->timestamps('datum');
            $table->integer('beginstand');
            $table->integer('eindstand');
            $table->text('van');
            $table->text('naar');
            $table->text('bezoekadres');
            $table->text('geredenroute');
            $table->integer('karakterrit_id')->default(1);
            $table->text('toelichting');
            $table->integer('kilometerszakelijk');
            $table->integer('kilomteresprive'); 

            $table->foreign('user_id')
                        ->references('id')
                        ->on('users')
                        ->onDelete('cascade');

            $table->foreign('karakterrit_id')
                        ->references('id')
                        ->on('karakterrit')
                        ->onDelete('cascade');    
        });
    }
Run Code Online (Sandbox Code Playgroud)

php laravel-5

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

Angular Js语法错误

我有以下工厂:

(function() {
angular.module('temp')
    .factory('Factory',Factory);

    employeeFactory.$inject = ['$http'];
    function employeeFactory($http) {
        var factory = {};
        var vm = this;

        factory.login = function(email,password) {
            return $http({
                'method': 'POST',
                'url': 'http://domain.dev/api/v1/login',
                'data': $.param({
                    'email': email,
                    'password': password
                }),
                'headers': {
                    'Content-Type': 'application/x-www-form-urlencoded'
                }
            });
        return factory;
    }
})();
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Uncaught SyntaxError: Unexpected token )
Run Code Online (Sandbox Code Playgroud)

控制台指的是最后一行:

})();
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

Laravel 使用带有 api 的请求验证

我正在尝试在我的 api 中实现验证,如下所示:

public function store(RideUpdateRequest $request)
    {
        $user = JWTAuth::parseToken()->authenticate();

        $ride = Ride::create([
            'user_id'       => $user->id,
            'time'          => $request->time,
            'date'          => $request->date,
            'type_id'       => $request->type_id,
            'location_id'   => $request->location_id,
            'billabletime'  => $request->billabletime
        ]);

        $ride->save();

        return response()->json(['success' => 'Rit succesvol aangemaakt.'], 200);
    }
Run Code Online (Sandbox Code Playgroud)

乘车更新请求:

 public function rules()
    {
        return [
            'time'             =>  'required|integer',
            'date'             =>  'required|date',
            'type_id'          =>  'required|integer',
            'location_id'      =>  'required|integer',
            'billabletime'     =>  'required|integer'
        ];
    }
Run Code Online (Sandbox Code Playgroud)

那么我怎么能在 json 中返回错误消息(如果请求验证失败)?现在在邮递员我什么也没收到?

- 编辑 -

回复:

{
  "billabletime": [
    "The billabletime field is …
Run Code Online (Sandbox Code Playgroud)

php validation laravel

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

JS突破功能

我有一个看起来像这样的方法:

return AddedSoftware (software) {
    this.softwares.map(function(soft) {
        if(soft.id == software) {
            return software.name;
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

那么我怎么能打破并返回soft.id == software现在它softwares在它返回之前循环整个!

javascript ecmascript-6

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

Laravel 将访问器传递给 vue

在我的 Laravel 5.4 模型之一上,我有多个访问器。像这样:

public function getRevenueAttribute()
{
    return $this->calculate()->revenue($this->price, $this->amount);
}
Run Code Online (Sandbox Code Playgroud)

问题是当我将模型传递给我的 vue 组件时:

<product :prp-product="{{json_encode($product)}}"></product>
Run Code Online (Sandbox Code Playgroud)

product.revenue不存在。有没有办法实现这一目标?不想再在vue里计算这些东西了。

非常感谢。

php laravel vue.js

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

Laravel计算主题

目前我正在发送给我的api:

return Forum::with('topics')
          ->paginate($pagination);
Run Code Online (Sandbox Code Playgroud)

所以一个论坛有很多主题.我如何计算所有主题并通过此json响应将其发回?

laravel eloquent

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

使用 VueJS 访问 URL

我正在尝试访问这样的 URL:

methods: {
    show (file) {
        this.$router.go('/file/' + file.path + '?token=' + localStorage.getItem('jwt-token'));
    }
}
Run Code Online (Sandbox Code Playgroud)

我不是要转到组件。我只想转到以下网址:

'/file/' + file.path + '?token=' + localStorage.getItem('jwt-token')
Run Code Online (Sandbox Code Playgroud)

但它不起作用。它将我重定向到主页。

我怎样才能做到这一点?

javascript vue.js vue-router

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

急切的装载不会返回任何东西

当我急切地加载这样的时候:

 return Port::filter($filters)
            ->with(['scores' => function ($query) {
                    $query->select(["*"]);
                }]
            )
            ->actives()
            ->paginate(14);
Run Code Online (Sandbox Code Playgroud)

我得到了预期的结果.但是,当我选择特定的列名称时:

 return Port::filter($filters)
            ->with(['scores' => function ($query) {
                    $query->select(["id, name"]);
                }]
            )
            ->actives()
            ->paginate(14);
Run Code Online (Sandbox Code Playgroud)

结果总是如此[].这可能有什么问题?

php eager-loading laravel

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

更改已加载的数组键

我有几个eager loaded关系Laravel 5.6.我想将数组键名更改为eager加载对象上的属性.

所以,让我说我已经急切地加载了这个: 在此输入图像描述

如何确保数组键01成为name属性(" COSTS"和" SAIL_BOAT_FRIENDLY")?

这甚至可能吗?

- 编辑

return Port::filter($filters)
            ->with('scores')
            ->actives()
            ->paginate(14);
Run Code Online (Sandbox Code Playgroud)

得分关系

public function scores()
{
    return $this->hasMany(Score::class)
        ->select("id", "port_id", "name", DB::raw('AVG(score) as score'))
        ->groupBy('port_id', 'name');
}
Run Code Online (Sandbox Code Playgroud)

php arrays eager-loading laravel

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