Я хочу проверить, какое значение имеет столбец в другой таблице и на основе этого значения сохранить в текущей таблице. Вот контроллер, чтобы вы могли понять, что я имею в виду
$preference = Preferences::pluck('preferences_is_active');
$book = new book;
$book->book_description = Input::get('description');
$book->book_title = Input::get('title');
$book->user_id = Auth::user()->id;
if($preference !== 1) {
$book->book_published = 0;
$book->save();
}
return Redirect::to('/users/books');
Поэтому я хочу, чтобы пользователь мог сохранять информацию о новых книгах в своем профиле. Но также хочу проверить столбец preferences_is_active
в таблице preferences
и сделать условия.
Проблема в том, что независимо от того, какое значение имеет preferences_is_active
это всегда экономит 0
в books
Таблица. Что я здесь скучаю?
Проблема в pluck
вернет acollection, так что вы можете сделать это так:
$preference = Preferences::first();
$book = new book;
$book->book_description = Input::get('description');
$book->book_title = Input::get('title');
$book->user_id = Auth::user()->id;
$book->book_published = $preference->preferences_is_active;
$book->save();
return Redirect::to('/users/books');
Попробуйте этот код.
$preference = Preferences::first();
$book = new book;
$book->book_description = Input::get('description');
$book->book_title = Input::get('title');
$book->user_id = Auth::user()->id;
if(!$preference) {
$book->book_published = 0;
$book->save();
}
return Redirect::to('/users/books');