PHP/Laravel/Bootsrap获取数据

PHP/Laravel/Bootsrap获取数据,php,twitter-bootstrap,laravel,laravel-4,Php,Twitter Bootstrap,Laravel,Laravel 4,我有个小问题。我在数据库中有一个名为“玩家技能”的表。它包含如下列(示例): 玩家id |技能id |价值|计数 150 10 12 151051 15 8 10 12 player_id实际上是players表下的id列中的player的id。 还有八种技能。值是默认值(在本例中与此无关)。计数就是价值(玩家技能的价值) 基本上,我想要的是将数据拉入引导选项卡(示例): 它工作得很好,但我需要它在标签页中为每项技能进行更改 您的需求在Laravel中得到了很好的满足。首先,您必须声明技能和玩

我有个小问题。我在数据库中有一个名为“玩家技能”的表。它包含如下列(示例):

玩家id |技能id |价值|计数

  • 150 10 12
  • 151051
  • 15 8 10 12
  • player_id实际上是players表下的id列中的player的id。 还有八种技能。值是默认值(在本例中与此无关)。计数就是价值(玩家技能的价值)

    基本上,我想要的是将数据拉入引导选项卡(示例):


    它工作得很好,但我需要它在标签页中为每项技能进行更改

    您的需求在Laravel中得到了很好的满足。首先,您必须声明技能和玩家之间的多对多关系如下(阅读更多:):

    职业技能扩展了口才{
    公共职能扮演者(){
    返回$this->belongTomany('Player'、'Player\u skills'、'skill\u id'、'Player\u id'))
    ->withPivot('value','count');
    }
    }
    
    然后,您可以通过
    方法链接的玩家从数据库中获得所有技能。此方法不是强制性的(您可以改用
    all
    ),但此处的快速加载是一种很好的做法(请阅读更多内容:):

    最后,您可以迭代您的技能数组和每个技能中的玩家数组(阅读更多关于刀片模板的信息:):


    询问是否有不清楚的地方。

    我们可以了解更多关于您想要打印的内容的信息吗?每个玩家都有技能标签的玩家列表,或者里面有玩家的技能标签列表?一个小画或模式可能会有帮助。@Alexandre Butinski列出了一个包含玩家的技能标签。基本上是通过player_id和skill_id获取玩家名称,并从高到低排序。然后,当你改变标签,你会得到另一个技能,做同样的事情。首先,谢谢你的回答。其次,我得到一个错误:
    SQLSTATE[42S02]:找不到基表或视图:1146表“offs.skills”不存在(SQL:select*from
    skills
    )(绑定:array())
    。实际上这是player_skils表,但我不知道要更改什么哈哈。如果您的某个模型不遵循约定,您必须在模型中使用
    protected$table='skill'设置表名。正如我所解释的,关系表是在关系声明中设置的。当我尝试进入视图时,您何时会收到此错误。我还有一个新的错误(这是一个很长的错误):,我知道这是桌子的问题,我的桌子是这样的:嘿,你能在提问之前花5秒钟自己搜索吗?错误很明显:
    未知列'player\u skills.skill\u id'
    ,因为在您的表中,该列名为
    skillid
    ,而不是
    skillid
    。哈,对不起,没有看到。我现在得到一个未定义的属性:Illumb\Database\Eloquent\Collection::$players错误。错误在这一行:
            <div class="tabbable tabs-left">
        <ul class="nav nav-tabs">
        <li class="active"><a href="?skill0" data-toggle="tab">Section 1</a></li>
        <li><a href="?skill1" data-toggle="tab">Section 2</a></li>
        <li><a href="?skill2" data-toggle="tab">Section 3</a></li>
    ...
        </ul>
        <div class="tab-content">
        <div class="tab-pane active" id="?skill0">
        <p>I'm in Section A.</p>
        </div>
        <div class="tab-pane" id="?skill1">
        <p>Howdy, I'm in Section B.</p>
        </div>
        <div class="tab-pane" id="?skill2">
        <p>What up girl, this is Section C.</p>
        </div>
        </div>
        </div>
    
        public function highscores()
    {
        $players = Player::orderBy('experience','desc')->get();
        return View::make('aac.highscores')->with('players', $players);
    }
    
    class SkillController extends BaseController {
    
        public function index()
        {
            $skills = Skill::with('players')->get();
    
            return View::make('skill.index', array('skills' => $skills));
        }
    
    }
    
    <!-- index.blade.php -->
    <div class="tabbable tabs-left">
        <ul class="nav nav-tabs">
        @foreach ($skills as $skill)
            <li><a href="?{{ $skill->id }}" data-toggle="tab">{{ $skill->name }}</a></li>       
        @endforeach
        </ul>
        <div class="tab-content">
        @foreach ($skills as $skill)
            <div class="tab-pane active" id="?{{ $skill->id }}">
                @foreach ($skills->players as $player)
                    <p>{{ $player->name }} : {{ $player->pivot->count }} points !</p>
                @endforeach
            </div>
        @endforeach
        </div>
    </div>
    
    $orderedPlayers = $skill->players->sortBy(function($player) {
        return $player->pivot->count;
    });