当前位置: 首页 > 知识库问答 >
问题:

如何在Laravel 4中联接表

仲和韵
2023-03-14

我是第一次接触Laravel4,我似乎找不到一个可靠的答案,因为在Laravel4中有几种连接表格的方法。连接两个表的正确方法是什么?我有一个用户表和一个可用性表。

用户可用性存储在可用性表中。在可用性表中,我有一个名为usersid的列,它与用户相关联。我知道如何运行sql查询来加入表,但我不确定如何在Laravel 4中做到这一点。

SQL查询

SELECT users.id, users.firstname, users.lastname users.zipcode, availability.dateavailable
FROM users, availability
WHERE users.id=availability.userid

HTML表单

        <form action="search" method="post" accept-charset="utf-8">
            <div class="form-group">

                <select  name="temptype" class="form-control">
                    <option value="" selected="selected">Select Temp Type</option>
                    <option value="hygienist" >Hygienist</option>
                    <option value="dentist" >Dentist</option>
                    <option value="dentalassistant" >Dental Assistant</option>
                </select>

            </div><!-- end username form group -->
            <div class="form-group">
                <input type="text" name="zipcode" class="form-control" id="zipcode"    placeholder="zipcode">
            </div>
            <div class="form-group">
                <input type="date" name="date" class="form-control" id="date"   placeholder="selectdate">
            </div>
    </div><!-- end .modal-body -->
    <div class="modal-footer">
        <input type="submit" name="submit"  class="btn btn-primary" />
    </div>
    </form>

Laravel4用户模型

  public static function getTemps()
    {

       // Create a array of allowed types.
        $types = array('hygienist', 'dentist', 'dentalassistance');

        // Get what type the user selected.
        $type = Input::get('temptype');

        //Get user location
        $location = Input::get('zipcode');

        //Get the date temp is needed
        $date = Input::get('date');

        // Make sure it is a valid type.
        if(!in_array($type, $types))
        {
            return App::abort(500, "Invaild temptype.");
        }

        $temps = DB::table('users')
            ->where('usertype', $type)
            ->where('zipcode', $location)
            ->get();

        var_dump( $temps);
    }

共有1个答案

尉迟宪
2023-03-14

我想这可能对你有用:

DB::table('users')
    ->join('availability', 'users.id', '=', 'availability.userid')
    ->select('users.id', 'users.firstname', 'users.lastname', 'users.zipcode', 'availability.dateavailable')
    ->where('usertype', $type)
    ->where('zipcode', $location)
    ->get();
 类似资料:
  • 我有两张桌子, 我想为changelog实现一个搜索方法,该方法返回字段 如您所见,结果来自两个表的联接。 我发现https://gorm.io/docs/preload.html 但老实说,我不明白我该如何实现我所需要的。 我认为下面的内容可能会有所帮助 问题是,如何从GORM中提到的表格中获得我提到的内容?

  • 问题内容: 我有两个必须分开的索引: 我将如何在搜索中“联接”这两个表,以使其返回以下内容: 问题答案: 正如您在其他问题中回答的那样,没有什么可以阻止您在建立索引时将名称存储在每个文档中,同时仍然具有包含数据的专用索引。请记住,这都是关于巧妙地对数据进行规范化,以便每个文档都可以根据需要实现“自包含”。 该解决方案的优点是每个订单商品都是完全独立的,您可以对其进行分组/汇总以获取给定订单的所有商

  • 问题内容: 我想我正在解决这个问题,但是遇到了另一个障碍,并且不知道如何解决它 此查询有什么问题- 只需获取通用的“您有一个错误”,它指向联接,但我不知道如何解决它。我想要对customer_address_entity进行联接,因为它具有我需要在其中一条select语句中使用的另一个唯一ID。 问题答案: 首先,您的代码如下所示: 很明显,您在FROM之前有JOIN。 其次,您有一个带有unic

  • 问题内容: 例如,我在表中有此数据, 我或该表本身如何,这样我可以在下面获得此结果? 尽我所能,我只想用关键字“ manage”查询行,但我希望 add 的行中的列数据与结果中的 manage 行中的as相同。 是否有可能? 编辑: 我实际表格的简化版本- , 我的实际查询已经很乱了… 结果我目前得到了 但是我在这之后 问题答案: 您只需要两次引用该表: 如果要在列表中查看根,请用左联接替换inn

  • 问题内容: 我有两个表,和。 在表中我有一列。该列由电影适合的类别组成。这些类别是用逗号分隔的ID。 这是一个例子: 现在是一个实际的问题:是否可以执行一个查询,从电影表中排除类别列,而是从类别表中选择匹配的类别并以数组形式返回它们?像联接一样,但问题是存在多个用逗号分隔的类别,是否可以进行某种正则表达式? 问题答案: 在数据库字段中使用逗号分隔的列表是一种反模式,应不惜一切代价避免使用。 因为在

  • 问题内容: 我需要执行此查询:: 我在python中有这些类: 我如何从下面到达上面? 问题答案: 假设并且来自,并且您定义了一个关系,就应该这样做:

  • 问题内容: 这就是我在香草javascript中检查互联网连接的方式: 我的项目中有角度控制器和模块。我应该在上面的代码放在哪里?它应在全局上下文中执行,而不应分配给某个控制器。也许有某种全局控制器? 问题答案: 首先,我建议您听在线/离线活动。 您可以在AnguarJS中以这种方式进行操作: 注意:我在方法中包装了根范围变量的更改,以通知Angular某些更改。 之后,您可以: 在控制器中: 在

  • 现在,如果有3个表涉及这样的东西,我希望这样做。 我的问题基本上是...是否可以在语句上执行3个表联接?正确的语法是什么?谢谢你。我做...