transid 应该是 laravel 检查中的唯一存储(值 transid 应该是单个存储)

transid should be unique store in laravel check (value transid should be single store)

我对如何在 laravel 中存储唯一值感到困惑 我只想存储单个值 transaction_id 那里不应该有多个值。请提出建议。

            $payment                     = new Payment;
            $payment->order_id           = Input::get('orderid');
            $payment->amount             = (Input::get('base_amount', 0))?Input::get('base_amount'):Input::get('amount');
            $payment->transaction_id     = Input::get('transact');

            how to check if this $payment->transaction_id already exists should not save more than one

            i tried 

            $payment = Payment::where('transaction_id', '=', Input::get('transaction_id'))->first();
            if ($payment === null) {
               $payment->save();
            }

您可以使用请求验证:

public function rules()
{
    return [
        'transaction_id' => 'unique'
    ];
}

如果您使用此方法,您应该使用 php artisan make:request MyRequest 命令创建新请求 class。然后将 rules() 放入创建的 MyRequest 中,然后您就可以在 RESTful 控制器中的 store/update 操作(函数)旁边使用它:

public function store(MyRequest $request)
{
    dd($request->all());
}

https://laravel.com/docs/5.2/validation

此外,您可以在模型中使用验证:

private $rules = [
    'transaction_id' => 'required'
    ];