我是Laravel的新手,我正在创建一个“更新个人资料”页面。一切都很好,除了保存我的个人资料。由于我已宣布电子邮件必须是唯一的 - 我将收到错误。有一个完美的感觉。我一直在阅读this SO post关于我认为同样问题的内容。
我正在使用表单请求来处理我的验证:
public function rules()
{
return [
'name' => 'required',
'email' => 'required|unique:users,email,' . Auth::user()->id,
...
]
}
我的控制器:
public function store(UpdateAccountRequest $request)
{
$input = $request->all();
$user = new User();
$user->name = $input['name'];
$user->email = $input['email'];
if ($user->save()) {
...
}
...
}
看起来我在mysql端遇到错误:
Integrity constraint violation: 1062 Duplicate entry 'name@email.com' for key 'users_email_unique'
来自CodeIgniter,过去我会有一个隐藏字段,其中包含用户ID或其他内容,并检查用户ID是否正在编辑自己的帐户。如果是这样,验证将通过。我不确定最好的方法。
谢谢!
答案 0 :(得分:0)
<强>解强>
我的愚蠢错误。我正在创建一个新用户,然后尝试保存它。这就是为什么我能够通过Laravel的验证,而不是MySQL的独特索引。
我需要的是:
Select
CASE
WHEN (GROUPING(p. product_name ) = 1) THEN 'Total'
ELSE p. product_name END AS ProductName,
(( o.item_price - o.discount_amount )* o.quantity) as Total_Amount
from
products as p
inner join
order_items as o on o.product_id = p.product_id
group by
p.product_name, (( o.item_price - o.discount_amount )* o.quantity) with rollup
而不是:
gvBankDetails.Rows[e.RowIndex].Cells[0].Text