Php Laravel-使用bundle从数据库检索数据

Php Laravel-使用bundle从数据库检索数据,php,mysql,laravel,laravel-3,charisma,Php,Mysql,Laravel,Laravel 3,Charisma,首先,我不熟悉Laravel和MVC环境。对于这个项目,我使用MySQL作为数据库,Charisma作为捆绑包。我在尝试从数据库检索数据时遇到困难。我想知道是否有人能指导我解决所有这些问题 如果我使用bundle,那么我应该把所有的模型、控制器和路由放在哪里?在/application文件夹中,还是在捆绑包的文件夹中 何时使用/application文件夹,何时使用Charisma文件夹?(显然,我只在前端UI中使用它) 我的数据库表中有一条记录(名为user\u links),用于测试Char

首先,我不熟悉Laravel和MVC环境。对于这个项目,我使用MySQL作为数据库,Charisma作为捆绑包。我在尝试从数据库检索数据时遇到困难。我想知道是否有人能指导我解决所有这些问题

  • 如果我使用bundle,那么我应该把所有的模型、控制器和路由放在哪里?在
    /application
    文件夹中,还是在捆绑包的文件夹中
  • 何时使用
    /application
    文件夹,何时使用Charisma文件夹?(显然,我只在前端UI中使用它)
  • 我的数据库表中有一条记录(名为
    user\u links
    ),用于测试Charisma视图中的数据检索。我该怎么办 我将此作为指导,但在使用bundle时有点混乱

    好吧,让我试试我的方法。我将在这里进行检索。我希望有人能指出错误并指导我解决问题

    表格名称
    用户链接

    id: int
    user_id: varchar
    link_title: text
    link_url: text
    
    Model
    /application/models/user\u links.php
    (由于Charisma没有
    /models
    文件夹,我将使用默认文件夹):

    Controller
    捆绑包/charisma/controllers/user\u link.php
    (使用charisma controllers文件夹)

    查看
    /bundles/charisma/views/pages/index.blade.php

    <div >
    @foreach($user_link->results as $user_links)
        {{ $user_links::link_title }}
        {{ $user_links::link_url }}
    @endforeach
    </div>
    
    Route::controller('charisma::user_link');
    

    就这些。当然会有一些错误,但是如果你需要更多的东西,请告诉我。提前感谢。

    您应该将应用程序文件夹用于前端
    UI
    ,因为它是为应用程序而设计的,这些应用程序具有后端支持,可以设置和维护各种系统配置,如自定义
    cms

    Laravel-3
    中,
    application
    文件夹是将控制器、模型和视图保存在相应文件夹中的默认位置,也可以使用
    application/routes.php
    路由控制器

    但是,如果您想使用另一个bundle作为
    charisma
    ,则应将该bundle保存在bundle目录的根目录中,并将bundle名称添加到
    bundles.php
    文件中的数组中。例如,我在一个项目中使用了
    charisma
    作为管理面板的捆绑包,文件夹名为admin,我将
    charisma
    的文件放在那里(我将charisma重命名为admin)

    此外,管理包中的每个控制器都可以扩展自己的基本控制器,例如

    class Admin_Home_Controller extends Admin_Base_Controller {
        // ...
    }
    
    admin/controllers
    文件夹中有一个
    base.php
    文件,它是admin-base-controller,类似这样

    Route::any('(:bundle)', array('as' => 'admin_home', 'uses' => 'admin::home@index'));
    
    class Admin_Base_Controller extends Controller {
    
        public function __construct()
        {
            parent::__construct();
    
            // Add assets for admin
            Asset::add('jQuery', 'js/jquery-1.7.2.min.js');
        }
    
        public function __call($method, $parameters)
        {
            return Response::error('404');
        }
    
    }
    
    有关更多信息,您也可以查看并阅读

    Route::any('(:bundle)', array('as' => 'admin_home', 'uses' => 'admin::home@index'));
    
    class Admin_Home_Controller extends Admin_Base_Controller {
        // ...
    }
    
    class Admin_Base_Controller extends Controller {
    
        public function __construct()
        {
            parent::__construct();
    
            // Add assets for admin
            Asset::add('jQuery', 'js/jquery-1.7.2.min.js');
        }
    
        public function __call($method, $parameters)
        {
            return Response::error('404');
        }
    
    }