php - Laravel 5.6 将 Eloquent 模型作为参数传递给函数

标签 php ajax laravel-5.6

我在 Blade 表单上有一个选择控件,要通过此函数通过 ajax 刷新:

function getOpciones(tbName) {
    $.get('/ajax/read-data/' + tbName, function(data){
    return (data);
});
}

该函数采用一个字符串变量“tbName”,其中包含与控件相关的表的名称,并将其作为参数传递给路由:

Route::get('/ajax/read-data/{modelo}', 'AjaxController@readData');

然后 Controller 应该获取参数 {modelo},并检索该表中的记录:

use App\RegFiscal;

public function readData($modelo) {
    $arreglo = $modelo::all();
    return response($arreglo);
}

但即使我使用“使用 App\RegFiscal”引用模型,我得到的只是 laravel 日志中的这个错误:

2018-03-23 18:52:08] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'RegFiscal' not found' in C:\wamp64\www\laravel\cte\app\Http\Controllers\AjaxController.php:32

我是 Laravel 的新手,所以不用说我迷路了,任何帮助将不胜感激。谢谢!

最佳答案

仅仅因为您使用 App\RegFiscal 并不意味着 $modelo 与之关联。

不过,您可以使用 app("App\\$modelo") 根据您从路由器获得的参数加载您的模型。您也不再需要使用 App\RegFiscal

$arreglo = app("App\\$modelo");
return response($arreglo::all());

这是假设您的模型存储在 Laravel 项目中的默认 app 目录中。如果不是,您可以将 "App\" 更改为它存储的位置。例如,如果您的模型位于 app\models\modelname.php 中,它将是 "App\Models\\$modelo"

关于php - Laravel 5.6 将 Eloquent 模型作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49456986/

相关文章:

javascript - 通知用户消息仍在输入中

PHP能力测试?

php - 尝试检索数据库表时 PDO 错误

asp.net-mvc - Ajax.BeginForm 返回结果并显示适当的数据

javascript - 对 JSON 数据的 Ajax 调用适用于 FF,但不适用于其他浏览器

php - Wordpress 无法通过 ajax 请求加载正确的语言 mo 文件

php - 逆向工程 eclipse-PDT-php->UML

php - 从表中的字符串中提取值?

mysql - 查询多个位置和同一行

php - 如何在 Laravel eloquent 的子查询中使用 "With"和条件?