检查另一个表中的值并根据当前保存的值

时间:2017-11-01 13:51:31

标签: php laravel laravel-5

我想检查另一个表中的列是什么值,并根据该值保存在当前表中。这是控制器,你可以得到我的意思

$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 个答案:

答案 0 :(得分:0)

问题是pluck会返回收藏,所以你可以这样做:

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

答案 1 :(得分: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');