'Laravel like query not return correct?

Hello I am creating like query by passing array to function but my like query it return as I am passing this following array

$like = array(
    "employee.Employee_Code"       => $search . "~both",
    "employee.Employee_Name"       => $search . "~both",
    "employee.Employee_Age"        => $search . "~both",
    "employee.Employee_Contact_No" => $search . "~both",
    "employee.Department"          => $search . "~both",
    "employee.Salary_Grade"        => $search . "~both",
    "employee.Employee_Email"      => $search . "~both"
);

my code:

foreach ($like as $key => $val) {
    $v = explode("~", $val);
    echo '<pre>';
    echo $key;
    print_r($v);
    if ($v[0]!= "") {
        if (isset($v[1])) {
            if ($v[1]=='both') {
                $query->where($key, "like", "'%".$v[0]."%'");
            } else {
                $query->where($key,"like","'%".$v[0]."%'");
            }
        } else {
            $query->orWhere($key,"like","'%".$v[0]."%'");
        }
    }
}

Output:

    employee.Employee_CodeArray
    (
        [0] => s
        [1] => both
    )
    employee.Employee_NameArray
    (
        [0] => s
        [1] => both
    )
    employee.Employee_AgeArray
    (
        [0] => s
        [1] => both
    )
    employee.Employee_Contact_NoArray
    (
        [0] => s
        [1] => both
    )
    employee.DepartmentArray
    (
        [0] => s
        [1] => both
    )
    employee.Salary_GradeArray
    (
        [0] => s
        [1] => both
    )
    employee.Employee_EmailArray
    (
        [0] => s
        [1] => both
    )
    Array
    (
        [0] => Array
            (
                [query] => select `employee`.* from `employee` where `employee`.`Employee_Code` like ? and `employee`.`Employee_Name` like ? and `employee`.`Employee_Age` like ? and `employee`.`Employee_Contact_No` like ? and `employee`.`Department` like ? and `employee`.`Salary_Grade` like ? and `employee`.`Employee_Email` like ? order by `employee`.`isActive` desc, `employee`.`id` desc limit 10
                [bindings] => Array
                    (
                        [0] => '%s%'
                        [1] => '%s%'
                        [2] => '%s%'
                        [3] => '%s%'
                        [4] => '%s%'
                        [5] => '%s%'
                        [6] => '%s%'
                    )

expected query as:

SELECT `employee`.*
FROM `employee`
WHERE `employee`.`Employee_Code` like '%s%'
  AND `employee`.`Employee_Name` like '%s%'
  AND `employee`.`Employee_Age` like '%s%'
  AND `employee`.`Employee_Contact_No` like '%s%'
  AND `employee`.`Department` like '%s%'
  AND `employee`.`Salary_Grade` like '%s%'
  AND `employee`.`Employee_Email` like '%s%' DESC
LIMIT 10


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source