标签: laravel-4

Eloquent 更新和限制

我不知道如何在 laravel eloquent orm 中同时使用 update 和 limit 方法。

$affectedRows = Promo::where('used','=',0)
    ->update(array('user_id' => Auth::user()->id))
    ->limit(1); // Call to a member function limit() on a non-object
    //->take(1); // Call to a member function take() on a non-object
Run Code Online (Sandbox Code Playgroud)

我尝试了 limit 和 take 方法。

我只想做一个结果就是更新。

但我认为,我不能在更新时使用限制或采取方法。

有没有办法通过 eloquent 只更新一行?


添加 :

雄辩的 ORM

$affectedRows = Promo::where('user_id','=',DB::raw('null'))->take(1)
        ->update(
            array(
                'user_id'       => Auth::user()->id,
                'created_ip'    =>Request::getClientIp(),
                'created_at'    => new DateTime,
                'updated_at'    => new DateTime
            )
        );
Run Code Online (Sandbox Code Playgroud)

查询生成器

$affectedRows = DB::table('promos')->whereNull('user_id')
    ->take(1)
    ->update(array(
        'user_id'       => Auth::user()->id, …
Run Code Online (Sandbox Code Playgroud)

laravel eloquent laravel-4

0
推荐指数
2
解决办法
9119
查看次数

Laravel 4:用于唯一访问者计数的 Cookie

我正在创建一个简单的博客,用户可以在其中添加、更新和查看帖子。我已经在帖子中实现了查看次数功能,该功能显示了帖子的查看次数。为此,我所做的是:

  1. 创建了一个事件监听器:

    Event::listen('post.viewed', 'PostHandler@updatePostViewsAction');

  2. 创建了PostHandlerupdatePostViewsAction

    class PostHandler
    {
        public function handle()
        {
            // 
        }
    
        public function updatePostViewsAction( $post )
        {
            // Update view counter of post
            $post->views_count = $post->views_count + 1;
            $post->save();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

工作正常,并且观看次数正在成功更新。但后来我决定对视图进行唯一计数。为此,我尝试使用 cookie,在用户计算机上创建cookie,每当他查看帖子并增加views_count. 如果用户再次回来并再次查看帖子,请检查是否有可用的 cookie,如果可用则不要增加views_count否则增加。下面是我是如何实现的:

class PostHandler
{
    public function handle()
    {
        // 
    } …
Run Code Online (Sandbox Code Playgroud)

php cookies laravel laravel-4

0
推荐指数
1
解决办法
1848
查看次数

在生产环境中运行 Artisan 命令 - Laravel 4.*

我被困在如何在生产环境中运行工匠命令。我使用 Hostgator(共享主机)作为我的托管公司。我试图在我的 win8 机器上通过 ftp 客户端运行命令。所有命令都不起作用。它给出了“无效命令”错误。

任何人都可以帮忙吗?!谢谢。下面是我尝试运行的示例命令。

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

php shared-hosting laravel composer-php laravel-4

0
推荐指数
1
解决办法
3420
查看次数

问题上传图像,调用未定义的函数 finfo_buffer()

尝试通过基于 Laravel 框架的脚本上传图像并遇到此错误:

Call to undefined function Intervention\Image\finfo_buffer() 

     * Checks if string contains binary image data
*
* @param mixed $input
* @return boolean
*/
private function isBinary($input)
{
$mime = finfo_buffer(finfo_open(FILEINFO_MIME_TYPE), (string) $input);
return substr($mime, 0, 4) != 'text';
}
Run Code Online (Sandbox Code Playgroud)

我对 Laravel 并不是很精通,所以希望得到一些帮助。

问候

php laravel laravel-4

0
推荐指数
1
解决办法
2674
查看次数

Laravel 的核心在哪里?

我知道是 Laravel 的核心,但是当你想创建一个 Laravel 应用程序时,你需要下载这个,通过 composer 创建一个项目,或者其他什么。

这个问题可能很愚蠢,但是,Laravel 项目的真正核心在哪里?这意味着我无法浏览应用程序的文件夹来找到它,而我很确定我可以在其他框架(例如 CodeIgniter,core文件夹?)中做到这一点。

那么内核在哪里呢?如何链接所有应用程序以便应用程序工作?

laravel laravel-4

0
推荐指数
1
解决办法
232
查看次数

Laravel 更新不是更新表

好的,所以我的问题是,我的 ajax 调用没有正确更新。它与我拥有的许多功能相同,只是不更新​​值。虽然,我可以在 mysql 中自行运行查询,并且可以正常更新。功能如下:

/*
 * "elerts/quicksave" > Update elert from all screen
 */
public function quicksave($id)
{
    $data = (object)Input::get();

    $ev = Events::find($id);
    $ev->limit          = $data->limit;
    $ev->EventEnabled   = $data->EventEnabled;
    $ev->SundayStart    = $data->SundayStart;
    $ev->MondayStart    = $data->MondayStart;
    $ev->TuesdayStart   = $data->TuesdayStart;
    $ev->WednesdayStart = $data->WednesdayStart;
    $ev->ThursdayStart  = $data->ThursdayStart;
    $ev->FridayStart    = $data->FridayStart;
    $ev->SaturdayStart  = $data->SaturdayStart;
    $ev->save();

    $queries = DB::getQueryLog();
    $last_query = end($queries); dd($last_query);

    return "Your eLert has been saved!";
}
Run Code Online (Sandbox Code Playgroud)

下面是一个被传递的示例 ID 和一个被传递的 $data 对象的示例。

$id = '107';
object(stdClass)#137 (9) { ["limit"]=> string(3) …
Run Code Online (Sandbox Code Playgroud)

php mysql laravel eloquent laravel-4

0
推荐指数
1
解决办法
5135
查看次数

带有 Laravel 复制输出的调度程序

我对我做错了什么感到迷茫,我看不到其他人有这个问题,所以一定是我。

我刚刚设置Indatus\Dispatcher\ServiceProvider并让一切正常运行。出于测试目的,我只是每 5 分钟运行一次计划事件以添加日志条目。

出于某种原因,它正在复制日志条目。

这是输出的样子:

[2014-10-26 19:00:15] local.INFO: This is a test [] []
[2014-10-26 19:00:15] local.INFO: This is a test [] []
[2014-10-26 19:05:12] local.INFO: This is a test [] []
[2014-10-26 19:05:13] local.INFO: This is a test [] []
[2014-10-26 19:10:09] local.INFO: This is a test [] []
[2014-10-26 19:10:10] local.INFO: This is a test [] []
Run Code Online (Sandbox Code Playgroud)

这是实际的预定fire()事件:

public function fire()
{
    Log::info('This is a test');
}
Run Code Online (Sandbox Code Playgroud)

schedule()

public function schedule(Schedulable …
Run Code Online (Sandbox Code Playgroud)

php laravel-4

0
推荐指数
1
解决办法
1476
查看次数

Laravel 4.2 - 无法从数据库中获取随机行

有人可以向我解释为什么这有效

$profile = Profile::all()->random(8);
Run Code Online (Sandbox Code Playgroud)

这不起作用

$profile = Profile::where('gender_id', '=', 1)->random(8);
Run Code Online (Sandbox Code Playgroud)

我收到错误说

调用未定义的方法 Illuminate\Database\Query\Builder::random()

eloquent laravel-4

0
推荐指数
1
解决办法
2332
查看次数

Laravel 邮件未定义变量

我正在尝试使用 Laravel Mail 发送电子邮件并获取未定义的变量:视图中的数据。这是我的控制器代码。

    $insured        =   Claim::where('id', '=', $claim_id)->first()->toArray();
    $workshop       =   Workshop::where('id', '=', $insured['workshop_id'])->first()->toArray();
    $data           =   Document::whereRaw('claim_id = ' . $claim_id . ' AND (documents.status = 10 OR documents.status = 12)')
                        ->join('docs','documents.doc_id', '=', 'docs.id')
                        ->join('claims','documents.claim_id', '=', 'claims.id')
                        ->get(array('docs.email_text', 'claim_of', 'vehicle_no'))->toArray();
    Mail::send('emails.workshop', $data, function($message)
    {
        $message->to('someone@somedomain.com')->subject('Testing');
    });
Run Code Online (Sandbox Code Playgroud)

看法

{{ $data[0]['claim_of'] }}

<br />

{{ $data[0]['vehicle_no'] }}

<br />


    <?php $i = 1 ; ?>
    @foreach($data as $key => $claim)
        <p> {{ $i }}. {{ $claim->email_text }}</p>
        <?php $i++ ; ?>
    @endforeach …
Run Code Online (Sandbox Code Playgroud)

php email laravel blade laravel-4

0
推荐指数
1
解决办法
4729
查看次数

如何将base64图像解码保存到laravel中的公用文件夹

我得到一个格式为String base64的图像,我想将该字符串解码为图像并将其保存到laravel中的公共文件夹中。

这是我的控制器:

//decode string base64 image to image 
$image = base64_decode($request->input('ttd'));
//create image name
$photo_name = time().'.png';
$destinationPath = public_path('/uploads');
//save image to folder
$image->move($destinationPath, $photo_name);
$img_url = asset('/uploads'.$photo_name);


$data = new Transaction();
$data->transaction_id = $request->input('fa_transaction_id');
$data->user_id = $request->input('userid');
$data->photo_name = $photo_name;
$data->photo_url = $img_url;
$data->save();
Run Code Online (Sandbox Code Playgroud)

当我尝试echo $ image时,我得到了解码值,而对于$ photo_name我也得到了该值,但是当函数运行时出现此错误

Call to a member function move() on string
Run Code Online (Sandbox Code Playgroud)

如何解决这个错误?

php laravel laravel-4 php-7

0
推荐指数
1
解决办法
1635
查看次数