Laravel 5保存并更新无法正常工作。

时间:2016-04-04 14:41:05

标签: php laravel-5 laravel-5.1 laravel-5.2

更新产品时,数据不会更新。

关注代码

我的控制器

public function viewProduct( $name, $id )
{

    $product = $this->queryProducts()
                    ->where('produtos.id' , $id )
                    ->first();

    $product->count_view += 1;
    $product->save();
 }      

我的模特

<?php
namespace App;    
use Illuminate\Database\Eloquent\Model;

class Products extends Model
{ 

protected $guarded = ['id'];
protected $table = 'produtos';
const CREATED_AT = 'created';
const UPDATED_AT = 'modified';
protected $fillable = ['count_view', 'nome'];

如果我使用

dd( $product->save() )

我的回复是真的,我尝试从其他方式使用方法save()

$product->save( ['count_view' => 77 ] )

和/或

$product->update( ['count_view' => 77 ] )

但没办法

1 个答案:

答案 0 :(得分:0)

我发现了我的错误......

当我创建查询以搜索产品时,我与另一个表进行了连接,因此他没有更新。

要解决查询,我说我只选择产品表,现在保存并更新工程!

private function queryProducts()
{   
   return Products::join('fornecedores', 'fornecedores.id', '=' ,'produtos.fornecedor_id')
                        ->where( 'fornecedores.ativo', 1 )
                        ->where( 'produtos.moderacao', 'P' )
                        ->where( 'produtos.ativo' , 1 )  
                        ->select( 'produtos.*')                          
                        ->limit( $this->_limitProducts );
}