如果表为空,如何阻止laravel获取错误

时间:2019-06-28 18:00:47

标签: php laravel

如果表返回空值,我希望我的代码继续工作

我尝试使用if(empty)bla bla bla,但似乎不是问题所在

问题是laravel不要让我在null上调用函数

@php($article = article::find($id)->get())

错误:“在null上调用成员函数get()”

3 个答案:

答案 0 :(得分:0)

如果multimap<K, V>返回null,它将解决问题:

        var ctx;
        var targetImg;
        const base_image = new Image();
        const {body} = document
        const canvas = document.getElementById('canvas')
        ctx = canvas.getContext('2d')
        canvas.width =722;
        canvas.height = 458;
        base_image.src = 'https://imgur.com/1HTlrk1';
        base_image.onload = function() {
            ctx.drawImage(base_image,0,0,722,458);
            startDraw();
        };


        function startDraw() {

            const tempImg = document.createElement('img')
            tempImg.addEventListener('load', onTempImageLoad)
            tempImg.src = 'data:image/svg+xml,' + encodeURIComponent(
                '<svg xmlns="http://www.w3.org/2000/svg" width="722px" height="458px">'+
                    '<foreignObject width="722px" height="458px">'+
                        '<div xmlns="http://www.w3.org/1999/xhtml">'+
                            '<div style="width: 722px; background-color:transparent;height: 458px;">'+
                               '<div style="float:right; width:361px; display: block;position: absolute;left: 447px;top: 69px;">'+
                                   '<h1>Buscamos</h1>'+
                                    '<span>Team Leader</span>'+
                                    '<div style="width:300px;">'+
                                        'La busqueda se orienta a <b>desarrolladores Especialistas en Salesforce</b> <br/>con ingles avanzado y con experiencia en liderazgo de equipos'+
                                    '</div>'+
                                    '<table><tr><td>ANGULAR</td></tr></table></div></div></div></foreignObject></svg>');
            targetImg = document.createElement('img')
            body.appendChild(targetImg)
        }


    function onTempImageLoad(e){
      ctx.drawImage(e.target, 0, 0);
      targetImg.src = canvas.toDataURL();
    }

我认为最好将数据从控制器发送到视图,而不是使用Blade指令来获取数据。

类似这样的东西:

aritcle::find($id)

答案 1 :(得分:0)

->get()之后不必使用find()find()自动返回与提供的主键匹配的模型。如果您在$article失败后尝试访问find(),则会收到错误消息,但这会阻止您获取发布的错误消息。

答案 2 :(得分:-1)

您可以使用findOrFail()这样的@php($article = article::findOrFail($id)->get())方法