Laravel - 使用 AngularJS 访问关系模型

2023-12-19

我正在尝试创建一个单页应用程序,以 AngularJS 作为前端,以 Laravel 作为后端。我在尝试创建需要访问与另一个模型的关系的表时遇到了问题。

对于此示例,假设我有一个显示产品的表格。每个产品也会有一个品牌。

使用 Laravel 的 Blade 语法,我可以使用以下方法解决这个问题:

<table class="table table-bordered">
  <tr>
    <th>Name</th>
    <th>Brand</th>
  </tr>
  @foreach($products as $product)
  <tr>
    <td>{{ $product->name }}</td>
    <td>{{ $product->brand->name }}</td>
  </tr>
  @endforeach
  <!-- End of product entry for {{ $product.name }} -->
</table>

有了 Angular,我希望能够做到这一点:

<table class="table table-bordered">
  <tr>
    <th>Name</th>
    <th>Brand Id</th>
  </tr>
    <tr ng-repeat="product in products">
      <td>@{{ product.name }}</td>
      <td>@{{ product.brand.name }}</td>
    </tr>
  <!-- End of product entry for @{{ product.name }} -->
</table>

不幸的是,@{{product.brand.name}}不起作用,并且似乎没有一种简单的方法来访问父级关系。

仅供参考,我的控制器如下所示:

app.controller('CtrlProducts', function($scope, $http){

  $scope.products = [];

  $http.get('/api/products').
    success(function(data, status, headers, config) {
      angular.forEach(data, function(product){
        $scope.products.push(product);
      });
    }).
    error(function(data, status, headers, config) {
      console.log(data);
    });
});

我能想到的唯一解决方案是对 Brand 模型进行单独的 api 调用并将数据存储到地图对象中。然后我可以调用:@{{brandMap.get(product.brand_id) }}

有谁知道更简单的解决方案?看来这将是一个常见问题。

Thanks.


在 Laravel 后端获取产品时,不要只使用

Product::find($id);

但反而

Product::with('brand')->find($id);

就这样:) 相应的文档部分:http://laravel.com/docs/4.2/eloquent#eager-loading http://laravel.com/docs/4.2/eloquent#eager-loading

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel - 使用 AngularJS 访问关系模型 的相关文章

随机推荐

  • Highcharts 气泡图数据标签重叠

    如图所示 与小提琴的代码不同 但显示了问题 使用 Highcharts 新的气泡图 数据标签似乎喜欢坐在彼此的顶部 有一个简单的解决方法吗 我很乐意在每个标签的基础上手动更改 z index 但这似乎不适用于气泡图 这是一些无法按预期工作的
  • Matlab 中的 KNN 回归

    Matlab中的k近邻回归函数是什么 只有knn分类功能可用吗 有人知道与此相关的任何有用的文献吗 Regards Farideh 我不相信 k NN 回归算法是直接在 matlab 中实现的 但是如果你进行一些谷歌搜索 你可以找到一些有效
  • 将多个命令绑定到屏幕中的单个键?

    如何将多个命令绑定到 gnu screen 中的一个键 我想合并两个映射 bind c copy bind b eval writebuf exec sh c xsel clipboard lt tmp screen exchange 到单
  • youtube - 无法在轮播/滑块中滑过 iframe

    我有一个带有轮播的响应式网站 用户可以将 YouTube 视频嵌入为其中一张幻灯片 在桌面上这工作正常 然而 在移动设备上 iframe 显然会吃掉所有滑动事件 并且您无法滑过视频 我们必须通过替换视频图像然后使用来解决这个问题window
  • Javascript 事件 addEventListener 为同一函数注册多次;使用 OOP JavaScript

    我正在使用面向对象的 Javascript 并结合注册事件侦听器 根据我对事件监听器的理解 如果应用于 eventtarget 的函数已经注册 则重复尝试添加相同的事件监听器将被忽略 换句话说 它应该只触发一次 但下面的代码并非如此 也可以
  • 使用 JSON 序列化/反序列化 Pandas DataFrame 时如何保留索引的时区

    我需要使用以下方法将 Pandas DataFrame 序列化为 JSONto json方法 这是我如何做到这一点的一个例子 import pandas import numpy as np dr pandas date range 201
  • Hibernate - 第二个查询给出未知的服务请求

    我试图更好地理解 Hibernate 的工作原理 我有一个无法解决的问题 当应用程序启动时 它会进行查询 Session session HibernateUtil getSessionFactory getCurrentSession s
  • 在内部专用网络上保护 SOAP Web 服务的最佳方法是什么

    如今 越来越多的 Web 服务是为内部使用而开发的 用于将应用程序连接在一起 我们没有 ESB 来控制和保护此 Web 服务 因此我猜测什么是保护它们的好方法 我们尝试设置双向 SSL 但无法控制特定 Web 服务的授权 我的需要是能够控制
  • 通过输入前几个字符跳转到列表框项目

    我有一个项目列表 可能很大 用户必须从中选择一个 我想允许用户输入前几个字母所需项目的跳转到列表中的正确位置 默认情况下 每次按键都会跳转到以该字母开头的第一个项目 因此您无法键入第一个项目several字母 有什么简单的方法可以做到这一点
  • golang 切片分配性能

    在检查 GO 中内存分配的性能时 我偶然发现了一件有趣的事情 package main import fmt time func main const alloc int 65536 now time Now loop 50000 for
  • 如何从 Postgres 中的 CTE(公用表表达式)删除记录

    我在 Postgres 中使用 CTE 编写了以下查询 现在我无法从中删除记录 WITH cte AS SELECT firstname lastname country ROW NUMBER OVER PARTITION BY first
  • 配置 Hudson 来部署构建

    我正在尝试配置 Hudson 以便能够自动将构建 war 文件 部署到 Tomcat 然后 新部署的构建将被某人用来测试应用程序 我尝试使用部署插件自动部署 war 文件 这有效 但是 构建 war 文件的作业将在每次 scm 更改后 每当
  • 导致这种类似于 VB6 的气味(VB.NET 允许)出错:WinFormType.InstanceProp=Value [DISABLE My.Forms]

    我注意到 VB Net 对 Winform 对象的处理有一些非常令人讨厌的地方 这浪费了我们几个小时的时间 情况只会变得更糟 因为我们有更多的 VB6 程序员习惯于做这样的事情 并且自动转换的代码直接从 vb6 带来了构造 这是一种可以接受
  • 在 Jetty 中部署 spring/hibernate 应用程序时出现 java.lang.ClassNotFoundException: org.hibernate.cache.access.AccessType

    您好 我正在尝试在 Jetty 中部署我的应用程序并收到以下错误 该应用程序有一个依赖于休眠模块南瓜存储的模块南瓜服务 2012 11 10 11 10 01 138 WARN Failed startup of context o e j
  • Guice 构造函数参数的自定义注入

    我在这里阅读了 Guice 中的自定义注入 https github com google guice wiki CustomInjections https github com google guice wiki CustomInjec
  • NSTimer 不从 AppDelegate 重复

    为什么当放置在 appDidFinishLaunching 中时不会重复 self ti NSTimer timerWithTimeInterval 10 target self selector selector bounce userI
  • 动态多级菜单php的递归函数

    I ve a mysql表结构如下 CREATE TABLE IF NOT EXISTS menu id INT 5 NOT NULL AUTO INCREMENT PRIMARY KEY p id INT 5 parent id sort
  • 使用 pip 安装factory_boy 时遇到问题

    我正在开发一个 Django 项目 我正在另一台机器上设置环境 当我运行时pip install factory boy 我得到以下回溯 https gist github com JSweetman 35f59536d6b87a0ce8c
  • 两个对象矩阵相乘的有效方法

    作为程序的一部分 我需要将两个二维矩阵相乘 这些矩阵是创建的 Matrix 类的一部分 我现在的代码运行良好 但我想知道是否有更有效的方法将这些矩阵相乘 public Matrix multiply Matrix matrix return
  • Laravel - 使用 AngularJS 访问关系模型

    我正在尝试创建一个单页应用程序 以 AngularJS 作为前端 以 Laravel 作为后端 我在尝试创建需要访问与另一个模型的关系的表时遇到了问题 对于此示例 假设我有一个显示产品的表格 每个产品也会有一个品牌 使用 Laravel 的