在模型上设置表以获取最后一条记录 - laravel

时间:2017-05-01 10:02:12

标签: php database laravel model

我需要动态设置表名(从其他数据库中提取)并获取最后一条记录。

这是我的模特:

class Project extends Model {

    protected $connection = 'myconn';
    protected $table = '';

}

我试过这种方式(在其他课程中):

$last = Project::table($tableName)->orderBy('upload_time', 'desc')->first();

但这是错误:

Call to undefined method Illuminate\Database\Query\Builder::table()

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

Eloquent query就像:

$flights = App\Flight::where('active', 1)
               ->orderBy('name', 'desc')
               ->take(10)
               ->get();

但您正在使用Query Builder方式,即

DB::table('tablename')->orderBy('id', desc)->first();

这是错误的。

答案 1 :(得分:0)

您可以使用查询构建器

DB :: table($ tableName) - > orderBy('upload_time','desc') - > first();