我需要通过id文章获取图片。换句话说,在仪表板中我有显示标题文章,点击文章显示内容文章。一切都很好,除了显示图像。
我在数据库中有3个表: 用户 - 这里我有用户ID和姓名等。 文章 - 这里我有内容文章(标题,主要内容,日期等) 图像 - 这里我保存了每篇文章的图像(列:id,image_id,图像)
..接下来我有模特文章,图片,用户 在我的文章:
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class Articles extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
protected $table = 'articles';
public $fillable = array(
'id',
'user_id',
'subject'
);
public function user() {
return $this->belongs_to('User');
}
public function itemsArticle() {
return $this->hasMany('Image', 'id');
}
}
在图像中我有:
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class Image extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
protected $table = 'image';
public $fillable = array(
'id',
'image_id',
'image',
);
public function apps() {
return $this->belongs_to('User', 'id');
}
}
和我的控制员:
$images = $this->data->itemsApp(); // here is maybe problem with show images from model Image
$articles = Articles::find($id);
return View::make('users.articles')
->with('images', $images)
->with('articles', $articles )
在view.blade中我使用foreach,如果结果只显示没有图像的内容文章。 谢谢你的建议。
答案 0 :(得分:1)
您可能不需要此处的所有Illuminate类和接口。使用单数名称命名模型。
class Article extends Eloquent {
public $fillable = array(
'id',
'user_id',
'subject'
);
public function user() {
return $this->belongsTo('User');
}
public function images() {
return $this->hasMany('Image');
}
}
并在您的图片模型中
class Image extends Eloquent {
public $fillable = array(
'id',
'image_id',
'image',
);
public function article() {
return $this->belongsTo('Article');
}
}
在您的images
表格中添加字段整数article_id
,您就可以通过
$articles = Articles::with('images')->find($id);
return View::make('users.articles')->with('articles', $articles )
如果你想获得图片的用户电话
$image = Image::find($imageIdHere)->article()->user;