Использовать переменную php в качестве поля sql laravel Elqouent ORM

Я хочу использовать переменную $soptions в качестве имени поля в моем запросе, но я только что получил ошибку 500 с этим кодом, пожалуйста, помогите

    $Input=Input::all();
    $makethis=Input::flash();
    $soptions=Input::get('soptions');

    $items = Gamefarm::where('roost_hen', '=',Input::get('sex'))
                        ->where('". $soptions ."', 'LIKE',"%et%")
                        ->paginate(6);

    return View::make('gamefarms/index',compact('items','makethis'));

3 ответа

Решение

Попробуй это ->where($soptions, 'LIKE', "%et%")

Вы проходите soptions как строка, а не как переменная.

Ваше утверждение говорит, чтобы выбрать поле soptions из таблицы БД, но вы хотите значение переменной $soptions,

+ Изменить

$soptions=Input::get('soptions');

к

$soptions=Input::get($soptions);
    $Input=Input::all();
$makethis=Input::flash();
$soptions=Input::get('soptions');

var_dump($soptions);

// здесь вы можете узнать тип $soptions

$items = Gamefarm::where('roost_hen', '=',Input::get('sex'))
                    ->where('". $soptions ."', 'LIKE',"%et%")
                    ->paginate(6);

return View::make('gamefarms/index',compact('items','makethis'));
Другие вопросы по тегам