Search code examples
syntaxlaravel-4eloquentfluent

Syntax for adding constraints to Fluent/Eloquent query


I have seen both of these syntaxes for adding constraints to an existing Fluent/Eloquent $query (such as when appending a constraint based on a conditional):

$query = $query->where( 'id','=',1 );

and

$query->where( 'id','=',1 );

Is there any practical difference between them?


Solution

  • No difference at all. In this case $query is an object and it will internally set the filter, but it also returns itself, to provide chaining:

    $query->where( 'id','=',1 )->where( 'name','=', 'antonio' );
    

    So those two are exactly the same.

    $query = $query->where( 'id','=',1 );
    $query->where( 'id','=',1 );