Проверьте значение из другой таблицы и на основе значения сохраните в текущем

Я хочу проверить, какое значение имеет столбец в другой таблице и на основе этого значения сохранить в текущей таблице. Вот контроллер, чтобы вы могли понять, что я имею в виду

$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 Таблица. Что я здесь скучаю?

2

Решение

Проблема в 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');
0

Другие решения

Попробуйте этот код.

$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');
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector