Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证程序中的Laravel更改连接不工作_Php_Database_Validation_Laravel - Fatal编程技术网

Php 验证程序中的Laravel更改连接不工作

Php 验证程序中的Laravel更改连接不工作,php,database,validation,laravel,Php,Database,Validation,Laravel,我有一个系统,用Laravel构建,连接在两个数据库中,一个是mysql,另一个是mssql。我的默认连接是mysql: 'default' => 'mysql', 及 然后我的控制器: public function store(Request $request) { Validator::extend('unique_multiple', function ($attribute, $value, $parameters) { // Get table

我有一个系统,用Laravel构建,连接在两个数据库中,一个是mysql,另一个是mssql。我的默认连接是mysql:

'default' => 'mysql',

然后我的控制器:

public function store(Request $request)
{
    Validator::extend('unique_multiple', function ($attribute, $value, $parameters)
    {
        // Get table name from first parameter
        $table = array_shift($parameters);

        // Build the query
        $query = DB::table($table);

        // Add the field conditions
        foreach ($parameters as $i => $field)
            $query->where($field, $value[$i]);

        // Validation result will be false if any rows match the combination
        return ($query->count() == 0);
    });


    $file = Input::file('file');
    $count = 0;

    Excel::load($file, function($reader) use ($count) {

        $results = $reader->get()->toArray();
        // Set connection to sqlsrv
        $verifier = App::make('validation.presence');
        $verifier->setConnection('sqlsrv');

        foreach ($results as $key => $value) {

            $validator = Validator::make(
                // Validator data goes here
                array(
                    'unique_fields' => array($value['telephone'], $value['columnheadername'])
                ),
                // Validator rules go here
                array(
                    'unique_fields' => 'unique_multiple:Deliveries,Telephone,ColumnHeaderName',
                    'file' => 'required'
                )
            );

            $validator->setPresenceVerifier($verifier);


            if ($validator->fails()) 
            {
                return Redirect::to('delivery/create')->withErrors($validator);
            }
            else
            {
                $deliveries = new Delivery();
                $deliveries->Title                  = $value['title'];
                $deliveries->Firstname              = $value['firstname'];
                $deliveries->Surname                = $value['surname'];
                $deliveries->Address1               = $value['address1'];
                $deliveries->Address2               = $value['address2'];
                $deliveries->Address3               = $value['address3'];
                $deliveries->Address4               = $value['address4'];
                $deliveries->Town                   = $value['town'];
                $deliveries->County                 = $value['county'];
                $deliveries->Postcode               = $value['postcode'];
                $deliveries->Telephone              = $value['telephone'];
                $deliveries->Email                  = $value['email'];
                $deliveries->AgeBracket             = $value['agebracket'];
                $deliveries->Gender                 = $value['gender'];
                $deliveries->Filename               = $value['filename'];
                $deliveries->CalledDate             = $value['calleddate'];
                $deliveries->ColumnHeaderName       = $value['columnheadername'];
                $deliveries->Answer1                = $value['answer1'];
                $deliveries->Answer2                = $value['answer2'];
                $deliveries->Answer3                = $value['answer3'];
                $deliveries->Answer4                = $value['answer4'];
                $deliveries->Answer5                = $value['answer5'];
                $deliveries->HomeOwner              = $value['residentialstatus'];
                $deliveries->MaritalStatus          = $value['maritalstatus'];
                $deliveries->WorkStatus             = $value['incomebracket'];
                if($deliveries->save()){$count++;}
            }
        }

        Session::flash('alert-success', 'Data Uploaded Successfully! '.$count.' leads uploaded');
    }); 

        return Redirect::to('delivery/create');   
}
您可以看到以下行:

$verifier = App::make('validation.presence');
$verifier->setConnection('sqlsrv');
但仍然有这个错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'qdf_api.deliveries' doesn't exist (SQL: select count(*) as aggregate from `Deliveries` where `Telephone` = 01482828164 and `ColumnHeaderName` = EDF_3320)

交付表位于我的
sample\u test
数据库中,该数据库位于
sqlsrv
连接中。这就是为什么我切换到
sqlsrv
连接,但似乎不起作用?

两个连接的数据库名称不相同,您可能在.env文件中添加了qdf\u api数据库名称。正因为如此,您得到了错误。

您好。我的环境没有qdf_api。是的,我有两个正在连接的数据库。我正在尝试在一个特定的数据库连接中进行验证,但目前该连接不起作用。在您的.env文件中,在
数据库前面设置了什么?另外,我已经删除了数据库中的env。php@jackhammer013我已经更新了我的答案,看看这是否有帮助。
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'qdf_api.deliveries' doesn't exist (SQL: select count(*) as aggregate from `Deliveries` where `Telephone` = 01482828164 and `ColumnHeaderName` = EDF_3320)