私はlaravelが初めてで、それを使ってフォトアルバムを作成しようとしています。私の問題は、アタッチ機能を使用してユーザー ID とグループ ID をデータベースに挿入することです。問題なく動作しますが、ドキュメントではアタッチ機能についてこう述べています
たとえば、ユーザーに割り当てたいロールがすでに存在している可能性があります。attach メソッドを使用するだけです。
だから私はそれを同じように使いたいと思っていました。album_id
すでに存在する場合はそれを更新し、それ以外の場合は新しいものを挿入しますが、私の問題は常に挿入され、すでに存在するかどうかをチェックしませalbum_id
ん
私のモデル
class User extends Eloquent
{
public static $timestamps = false;
public function album()
{
return $this->has_many_and_belongs_to('album', 'users_album');
}
}
事後機能
public function post_albums()
{
$user = User::find($this->id);
$album_id = Input::get('album');
$path = 'addons/uploads/albums/'.$this->id.'/'. $album_id . '/';
$folders = array('path' => $path, 'small' => $path. 'small/', 'medium' => $path. 'medium/', );
if (! is_dir($path) )
{
foreach ($folders as $folder)
{
@mkdir($folder, 0, true);
}
}
$sizes = array(
array(50 , 50 , 'crop', $folders['small'], 90 ),
array(164 , 200 , 'crop', $folders['medium'], 90 ),
);
$upload = Multup::open('photos', 'image|max:3000|mimes:jpg,gif,png', $path)
->sizes( $sizes )
->upload();
if($upload)
{
$user->album()->attach($album_id);
return Redirect::back();
}
else
{
// error show message remove folder
}
}
誰かが私が間違っていることを指摘してもらえますか? または、アタッチ機能を完全に誤解していますか?