我正在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'));
})],
]);