Php 如何在laravel 5.4中多次使用变量模型
如何多次使用变量模型,类似以下代码:Php 如何在laravel 5.4中多次使用变量模型,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,如何多次使用变量模型,类似以下代码: $Db = Model::where(['user_id'=>1]); $Db->first(); $Db->get(); $Db->delete(); 我不想对get、first、delete等使用repeat$Db 例如,我不喜欢使用像这样的错误代码: $Db = Model::where(['user_id'=>1])->first(); $Db = Model::where(['user_id'=>1
$Db = Model::where(['user_id'=>1]);
$Db->first();
$Db->get();
$Db->delete();
我不想对get、first、delete等使用repeat$Db
例如,我不喜欢使用像这样的错误代码:
$Db = Model::where(['user_id'=>1])->first();
$Db = Model::where(['user_id'=>1])->get();
$Db = Model::where(['user_id'=>1])->delete();
或者
对于任何
first()
或get()
或…我都需要单独的类对象。我没有测试过这一点,但尝试使用查询生成器
另一种选择是使用闭包
$model = function() {
return Model::where(['user_id'=>1]);
};
$model()->get();
$model()->first();
$model()->delete();
同样,未测试:)您可以使用:
$Db = Model::where(['user_id'=>1]);
with(clone($Db))->first();
with(clone($Db))->get();
with(clone($Db))->delete();
最好的方法是创建一个帮助器或类 //创造
public static function user_info($user_id) {
return Model::where(['user_id' => $user_id]);
}
//召唤
Helpers:user_info(1)->first();
Helpers:user_info(1)->get();
Helpers:user_info(1)->delete();
我不明白你的问题,你想在几个控制器和视图之间共享你的变量吗?@wahdan不,我不想每次使用
first()
或get()如果您想使用$Db->first(),请在这之后使用code>
这不起作用,因为您首先为first()
这样做,您的第一个示例中有什么不起作用?只要您不覆盖$Db
,您就应该能够重新使用相同的查询生成器。您的意思是我们不能将模型
用于此方法?因为我在那个模型里有关系。我是如何使用查询生成器的?据我所知不是这样,但我也从未尝试过,所以我不能肯定。正确的。我和那个模特有关系。如果我使用查询生成器,如何使用它?我不认为使用查询生成器选择模型是可能的:(你可以进行连接,但如果你的应用程序依赖于模型,那么这可能不是正确的解决方案you@MikelWilliams请参阅更新,您可以使用匿名函数以避免重复代码
Helpers:user_info(1)->first();
Helpers:user_info(1)->get();
Helpers:user_info(1)->delete();