Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel4雄辩的查询返回一个旧的数据库值,而不是更新的数据库值_Php_Laravel 4_Mysqli_Eloquent - Fatal编程技术网

Php Laravel4雄辩的查询返回一个旧的数据库值,而不是更新的数据库值

Php Laravel4雄辩的查询返回一个旧的数据库值,而不是更新的数据库值,php,laravel-4,mysqli,eloquent,Php,Laravel 4,Mysqli,Eloquent,我有一个书表,其中有一列用于股票计数。例如,某本书的期初库存为100 BOOKS book_id | book_stocks | book_isbn 1 | 100 | 123123123 当我运行此代码时,它将输出“100” $book = Book::where('book_isbn','=',$credentials['book_isbn'])->get(); foreach ($book as $b) { ech

我有一个
表,其中有一列用于股票计数。例如,某本书的期初库存为
100

BOOKS
book_id | book_stocks | book_isbn
1       | 100         | 123123123
当我运行此代码时,它将输出“100”

$book = Book::where('book_isbn','=',$credentials['book_isbn'])->get();
        foreach ($book as $b) {
            echo $b->book_stocks;
        }
然后,一旦用户预订了一本书,我的代码的一部分将
减少该库存。这是密码

Book::where('book_isbn','=',$credentials['book_isbn'])->decrement('book_stocks');
当我检查数据库时,它现在变为

BOOKS
book_id | book_stocks | book_isbn
1       | 99          | 123123123
但当我再次运行此代码时

$book = Book::where('book_isbn','=',$credentials['book_isbn'])->get();
        foreach ($book as $b) {
            echo $b->book_stocks;
        }
输出仍然是“100”

我不知道它在哪里保存了旧股票的价值

我确信我的数据库连接,我试图清除缓存等

有人知道这背后的原因吗


提前感谢

当您清除缓存时,您运行了什么?那么
book\u id
应该是
book\u isbn
,还是您没有给我们看另一张表?@nuc,我运行book::where('book\u isbn','=',$credentials['book\u isbn')->get()。。书号是图书表的一部分。。抱歉,我忘了包括它,您正在运行什么命令/东西来清除缓存?您是否正在运行php artisan缓存:清除?因为我想排除缓存的片段。我不认为这个问题是有说服力的缓存,因为您没有说您正在调用
memory()
。我还会在你的浏览器中进行强制刷新(shift+ctrl+R或cmd+shift+R)。@nuc我只清除了存储在浏览器中的一个。我尝试运行php artisan缓存:清除并执行强制刷新。但是,获取的数据仍然没有更新。我还注意到,当数据库中的值为99时,它显示为100,当298时,它显示为300。这很奇怪,因为您没有存储任何精度。我会将您的列更改为整数,因为库存中没有小数(不能有一本书的.18)。但是,很高兴你解决了你的问题。