2015-12-14 2 views
0

Я пытаюсь ниже запрос в Laravel 5.1проверки составного ключа в Laravel 5.1

Select * from tblSubCategory 
Where SubCategoryID != 1 and CategoryID = 1 and SubCategory = 'test data'; 

Ниже мой код в Laravel

$v = \Validator::make($request->all(), [ 
    'SubCategory' => 'required|max:100|min:5|unique:tblsubcategory,SubCategory,' 
     .''.$request->input('CategoryID') 
     .',CategoryID,SubCategoryID,'.$request->input('SubCategoryID') 

]); 

выше выражение производит ниже запроса.

select count(*) as aggregate from `tblsubcategory` 
where `SubCategory` = 'under website1' and `CategoryID` <> 1 and `SubCategoryID` = 1 

уникальный ключ

UNIQUE KEY `UK_tblSubCategory_SubCategory_CategoryID` (`CategoryID`,`SubCategory`); 
+2

И вопрос ...? – guessimtoolate

+0

@guessimtoolate, я думаю, поэтому он получил другой запрос для валидатора. –

ответ

1

подход: 1: Совместимость с Laravel: 5. *

В командной строке: composer require felixkiss/uniquewith-validator:2.*

Добавьте следующие строки в вашproviders array в config/app.php:

'providers' => array(
    'Felixkiss\UniqueWithValidator\UniqueWithValidatorServiceProvider', 
), 

$v = \Validator::make($request->all(), [ 
    'SubCategory' => 'required|max:100|min:5|unique_with:tblsubcategory,CategoryID', 
    'CategoryID' => 'required', 
]); 

подход: 2

$v = \Validator::make($request->all(), [ 
    'SubCategory' => 'unique:tblsubcategory,SubCategory,' 
        .$request->input('SubCategoryID') 
        .',SubCategoryID,CategoryID,' 
        .$request->input('CategoryID') 
]); 

if ($v->fails()) { 
    return \Redirect::back() 
       ->withErrors($v) 
       ->withInput(); 
} 
Смежные вопросы