Laravel - 来自两个领域的独特验证

时间:2017-11-03 22:32:12

标签: php validation unique laravel-5.5

我正在Laravel开发一个项目,我被困住了。我有一个模型如下所示,字段numero_factura必须由empresa唯一。在执行$validator->fails() laravel说The numero_factura has already been taken之后,我尝试进行验证以存储已创建的记录,如下所示。

我如何进行验证,numero_factura被排除在外,empresa_id也是如此独特?

我真的很感谢谁能帮助我。 :)

型号:     

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class MyModel extends Model {

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'numero_factura', 'fecha', 'cantidad', 'comprobante', 'estado'
    ];

    public function empresa() {
        return $this->belongsTo('App\Models\Empresa');
    }

}

验证:

$validator = Validator::make($request->all(), [
    'numero_factura' => ['required', Rule::unique('facturas')->ignore($factura->id, 'numero_factura')->where(function ($query) use ($request) {
        return $query->where('empresa_id', $request->session()->get('empresa_id'));
    })],
]);

0 个答案:

没有答案