Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于Laravel中自定义查询的自定义模型_Php_Laravel_Laravel 5_Laravel 5.4 - Fatal编程技术网

Php 用于Laravel中自定义查询的自定义模型

Php 用于Laravel中自定义查询的自定义模型,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,让我解释一下! 我有一个应用程序使用的带有普通php的API(返回JSON) 现在,我用Laravel 5.4创建了一个网站,以显示用户通过与api连接的移动应用程序可以看到的相同数据 问题出在哪里?我必须按照api中的逻辑进行操作(因为我需要得到相同的结果)。我需要列出数据,但不是直接来自我的一个表,而是来自一个自定义查询,然后这个查询的结果我需要做一些逻辑,然后创建我想要返回到view.blade.php循环的模型 当然,使用Laravel时,我不必使用任何api,因为我已经在服务器端了 可

让我解释一下! 我有一个应用程序使用的带有普通php的API(返回JSON)

现在,我用Laravel 5.4创建了一个网站,以显示用户通过与api连接的移动应用程序可以看到的相同数据


问题出在哪里?我必须按照api中的逻辑进行操作(因为我需要得到相同的结果)。我需要列出数据,但不是直接来自我的一个表,而是来自一个自定义查询,然后这个查询的结果我需要做一些逻辑,然后创建我想要返回到view.blade.php循环的模型

当然,使用Laravel时,我不必使用任何api,因为我已经在服务器端了

可以做我想做的事吗? 这是我的自定义模型的一个示例(我从我的API的json中放置了一个图像,但我需要像上面所说的那样使用自定义模型获得相同的结果),在查询之后以及对查询结果进行一些逻辑处理之后,我将得到什么:


根据您的评论,您有一个自定义查询,您需要从中创建一个模型。您可以按照以下步骤操作

创建迁移

public function up()
{
    DB::statement("
    CREATE VIEW your_view_name
    AS
    SELECT 
        -- your query goes here
    ");
}
使用php artisan migrate运行迁移

然后使用创建的mysql视图创建一个模型

use Illuminate\Database\Eloquent\Model;

class YourClassName extends Model
{
    protected $table = 'your_view_name';
}

然后你可以像平常一样使用你的模型。

根据你的评论,你有一个自定义查询,你需要从中创建一个模型。您可以按照以下步骤操作

创建迁移

public function up()
{
    DB::statement("
    CREATE VIEW your_view_name
    AS
    SELECT 
        -- your query goes here
    ");
}
使用php artisan migrate运行迁移

然后使用创建的mysql视图创建一个模型

use Illuminate\Database\Eloquent\Model;

class YourClassName extends Model
{
    protected $table = 'your_view_name';
}

然后你可以像平常一样使用你的模型。

我看到的是,创建一个
对象
模型,它有门、窗、座位、月、年、周、日和日期,还有一个
部分
模型,它有id、部分名称、对象id和
东西
模型,有名称、状态、部分id等等。ORM本身将映射相互关联的对象——我想说的是,一对多关系最终将由一个部分包含多个部分的集合。另外,不要在blade中循环json,如果可能的话使用。像你说的那样创建一个模型是可以的,我不知道如何创建自定义查询,然后将结果与自定义模型匹配。然后我将模型传递给我的视图“我需要列出数据,但不是直接来自我的一个表,而是来自自定义查询”您的意思是您没有直接连接到数据库?那么你是如何获得这些数据的呢?通过API调用?无论如何,您不一定需要为自定义查询创建自定义模型(如果它真的很复杂的话)。考虑使用查询ObjutsWrueBuilder现在也返回一个集合。因此,您可以像处理模型一样处理数据。你可以将它们传递到你的视图中<代码>$result=DB::table('table')->get()传递到视图
返回视图('view',compact('result')。在视图中,将它们放入与模型相同的循环中,
foreach($result as$res){$res->attribute;}
Ok,但我想从自定义查询中获取数据,然后对数据结果进行一些逻辑处理,然后将数据设置到我的自定义模型中,并将模型返回到视图中我可以看到的是,创建具有门的
对象
模型,窗口、座位、月份、年份、星期几、日期和具有id、部件名称、对象id和具有名称、状态、部件id的
模型的
部件。ORM本身将映射相互关联的对象——我想说的是,一对多关系最终将由一个部分包含多个部分的集合。另外,不要在blade中循环json,如果可能的话使用。像你说的那样创建一个模型是可以的,我不知道如何创建自定义查询,然后将结果与自定义模型匹配。然后我将模型传递给我的视图“我需要列出数据,但不是直接来自我的一个表,而是来自自定义查询”您的意思是您没有直接连接到数据库?那么你是如何获得这些数据的呢?通过API调用?无论如何,您不一定需要为自定义查询创建自定义模型(如果它真的很复杂的话)。考虑使用查询ObjutsWrueBuilder现在也返回一个集合。因此,您可以像处理模型一样处理数据。你可以将它们传递到你的视图中<代码>$result=DB::table('table')->get()传递到视图
返回视图('view',compact('result')。在视图中,将它们放入与models
foreach($result as$res){$res->attribute;}相同的循环中
Ok,但我想从自定义查询中获取数据,然后在数据结果中加入一些逻辑,然后,将该数据设置到自定义模型中,并将模型返回到view@Faustino这个答案能帮你吗?@Faustino Gagneten这个答案能帮你吗?