连接Eloquent上的两张桌子


Joining two tables on Eloquent

我需要在查询中连接两个表。

数据库结构

Products
    .id
    .image
    .category_id (points to categories.id)
Categories
    .id
    .category_name
    .category_directory_name

图像位于category_directory_name目录下,因此我需要设置这两个表之间的关系,以便获得每个productcategory_directory_name

类似于;

<img src="{{ URL::to('uploads/categories/' . $v->category_directory_name . '/' . $v->image') }}">

我该怎么做?

Ps。我的表和列命名是本地的,所以我没有使用Laravel和Eloquent的内置功能。我想自己定义表名和列名。

在您的产品模型上,您应该执行

public function category() {
    return $this->belongsTo('Category');
}

在您的控制器中:

public function index() {
    $product = Product::find(1);
    return View::make('yourViewName')->with('product', $product);
}

在您看来:

<img src="{{ URL::to('uploads/categories/' . $product->category->category_directory_name . '/' . $product->image') }}">