在Eloquent上加入两张桌子

时间:2013-08-16 15:19:46

标签: php laravel laravel-4 eloquent

我需要在查询中加入两个表。

数据库结构

Products
    .id
    .image
    .category_id (points to categories.id)

Categories
    .id
    .category_name
    .category_directory_name

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

喜欢的东西;

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

我该怎么做?

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

1 个答案:

答案 0 :(得分:3)

在您的产品型号上,您应该

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') }}">