Laravel 从控制器访问模型?

Laravel 从控制器访问模型?,laravel,laravel-4,Laravel,Laravel 4,我希望从数据库中获取数据,然后在我的模型中,我希望在将数据传递到视图之前对数据执行一些php操作 通常,我会这样做以获取所有数据: ->with('content', Content::all()); 但我在我的模型中设置了一个名为test的函数: public function test(){ //get and modify data here } 如何使用以下方式访问此文件: ->with 从我的控制器?您试图做的事情并没有真正正确解释,但我还是会尝试回答 据我所知,

我希望从数据库中获取数据,然后在我的模型中,我希望在将数据传递到视图之前对数据执行一些php操作

通常,我会这样做以获取所有数据:

->with('content', Content::all());
但我在我的模型中设置了一个名为test的函数:

public function test(){

 //get and modify data here
}
如何使用以下方式访问此文件:

->with

从我的控制器?

您试图做的事情并没有真正正确解释,但我还是会尝试回答

据我所知,您希望在使用模型之前在模型中进行一些数据转换。但是test()函数中的注释表示您希望获取和修改数据

在laravel中,获取和修改数据的功能是分开的:

要获取数据,可以定义查询范围()。查询范围通常是向现有查询添加一些参数的缩写

为了在从模型中读取数据之前或在将数据分配给模型之前修改数据,雄辩地提供了一个称为mutators()的系统。mutator是在读取或分配字段值时调用的方法。通常将php类型转换为数据库类型(例如,保存时将数组转换为json,然后读取时将json转换为数组)。一个变异子可以用来填充一些额外的值或者对值进行一些额外的检查


我希望我帮了你一点忙。如果您觉得这不是一个正确的答案,请澄清您的问题,以便我能为您提供更多帮助。

这就是您正在寻找的答案吗

型号:

public static function foo($bar) {
    return static::where('foo', '=', 'bar');
}
控制器:

->with('content', Foo::foo("test"));

如果您将此“测试”函数设置为静态,它是否适用于您,因为它和我一起工作,但我不明白你的例子。你能提供一个更深入的描述你正在尝试做什么吗?也许
with()
根本不是最好的方法。谢谢,这很有帮助。我想知道如何从控制器调用模型?调用我在模型中编写的方法?阅读文档怎么样?