メンバーのすべてのフォト ギャラリーを表示したい。これらの写真ギャラリーごとに、ギャラリーからランダムな写真をカバー写真として表示したいと考えています。このプロジェクトには CodeIgniter 2.1.4 を使用しています。当初は、コントローラーで foreach() ループを実行し、ランダムな写真をクエリして、それをオブジェクトに追加するだけでよいと考えていました。ただし、それを行うと(現在のコードは以下になります)、「オブジェクト以外のプロパティを割り当てようとしています」というエラーが表示されます。このエラーは、サムネイルを $data['albums'] オブジェクトに追加しようとした行で発生します。
public function index() {
$data['albums'] = $this->album_model->get_many_by('profile_id', $this->member_id);
// I need to grab a random photo to display
foreach ($data['albums'] as $album) {
$thumb = $this->photo_model->order_by('id', 'rand')->limit(1)->get_by('album_id', $album->id);
$data['albums']->thumbnail = $thumb->thumbnail;
}
$data['current_albums'] = $this->album_model->count_by('profile_id', $this->member_id);
$this->load->model('profile_model');
$data['maximum_albums'] = $this->profile_model->with('membership')->get($this->member_id);
$data['allowed_albums'] = $data['maximum_albums']->membership->albums - $data['current_albums'];
$this->layout->title(site_name() . ' | My Albums');
$this->layout->view('member/albums/index', $data);
}
オブジェクトに別の値を追加するにはどうすればよいですか?これはこれを行うための最良の方法でもありますか? MySQL 経由でこれを行うのが最善かどうかはわかりませんでした。また、その方法もわかりません。前もって感謝します。